[技术问答] NUC972 ADC 问题!!

[复制链接]
4004|17
 楼主| lyjchong 发表于 2016-6-20 16:18 | 显示全部楼层 |阅读模式
972的板子有自带AD转换模块,自己想写个小程序测试下单一通道的转换,但是初次接触无从下手。下面图片是资料写的测试程序,但是头文件都没有,调试不出来。,请大家帮帮忙指导下!
QQ截图20160620161601.png
QQ截图20160620161651.png
 楼主| lyjchong 发表于 2016-8-2 09:14 | 显示全部楼层
   很早提的问题了,看到还没结贴,自己过来把这个空白给填上吧。
首先,这是NUC972的板子,它有8路ADC,现在要一路一路的分离出来作为单一通道来用。自带内核中没有单一通道的节点,要自己去注册添加实现open  read函数。
    在内核目录linux-3.10.x/drivers/input/nuvoton/nuc970adc.c ,在结构体 struct nuc970_adc{}中添加 struct device  *dev;  struct power_supply bat; 要使用到一路就添加一个新的结构体成员(名称自取);
   接下来是注册; 注册的话是在static int nuc970adc_probe(struct platform_device *pdev)这函数中增加
    #ifdef CONFIG_BATTREY_NUC970ADCA
    nuc970_adc->used_state = (1<<4);
    nuc970_adc->bat1.name = "NUC970 Battery(ADC1)"; //j节点名称
    nuc970_adc->bat1.type = POWER_SUPPLY_TYPE_BATTERY;
    nuc970_adc->bat1.properties = nuc970adc_battery_props;
    nuc970_adc->bat1.num_properties = ARRAY_SIZE(nuc970adc_battery_props);
    nuc970_adc->bat1.get_property = nuc970adc_battery_get_property_AD1;//回调函数(关键是这个)
    if ( power_supply_register(nuc970_adc->dev1, &nuc970_adc->bat1)) {
        printk("----------------------------------------------------power failed\n");
        goto fail5;
    }
#endif
ifdef 后的选项要在对应的Kconfig中添加,并在内核配置时选中,

   注册完了,就开始编写自己的回调函数;源码中回调函数有个可参考的例子static int nuc970adc_battery_get_property(),可以复制过来 ,然后修改通道(根据上面我发的图中,找到通道的配置位置),
   最后重新编译内核,运行,在/sys/class/power_supply/中就可以找到节点,并可以程序打开读写!

   大概描述下,不足之处还请各位大神指出,不明白的地方可以留言,我会尽我所能!

评论

我做一个大胆猜测: LZ是不是在安米科技公司?  发表于 2018-1-4 09:15
wahahaheihei 发表于 2016-6-21 11:21 | 显示全部楼层
在哪儿买的?找人家要例程啊。
wahahaheihei 发表于 2016-6-21 11:21 | 显示全部楼层
https://bbs.21ic.com/icview-881444-1-13.html
从此贴里找那个群,然后加入问问有没有
稳稳の幸福 发表于 2016-6-21 19:52 | 显示全部楼层
毫无了解的,楼主怎么想起来买这个系列了。
wahahaheihei 发表于 2016-6-28 15:36 | 显示全部楼层
lyjchong 发表于 2016-6-21 14:57
淘宝上买的,那个群我也加了 没人回应,例程并没有直接的检测的,哎真是郁闷! ...

找老板要,不给去追加差评
yiyigirl2014 发表于 2016-6-29 00:10 | 显示全部楼层
必须要有头文件啊,你要先找到头文件。
yiyigirl2014 发表于 2016-6-29 00:23 | 显示全部楼层
http://pan.baidu.com/s/1jHsrSr0
看看这个里面有没有,有个人发的这个芯片相关的帖子,给的资源下载。
heisexingqisi 发表于 2016-6-29 20:16 | 显示全部楼层
如果没有头文件,那真是你写什么代码都不行。
heisexingqisi 发表于 2016-6-29 20:17 | 显示全部楼层
建议楼主以后买开发板一定要先准备好资料,心里有底了再买。
fengeryi 发表于 2016-7-4 14:50 | 显示全部楼层
nuc972 有non-os的bsp包,里面有adc例程
wheretoqo 发表于 2016-11-9 13:33 | 显示全部楼层
lyjchong 发表于 2016-8-2 09:14
很早提的问题了,看到还没结贴,自己过来把这个空白给填上吧。
首先,这是NUC972的板子,它有8路ADC, ...

您好,您能把您编译的内核分享一下吗?我的邮箱3236472679@qq.com
yiyigirl2014 发表于 2016-11-9 23:11 | 显示全部楼层
fengeryi 发表于 2016-7-4 14:50
nuc972 有non-os的bsp包,里面有adc例程

有吗?这个资料哪儿下载?
yiyigirl2014 发表于 2016-11-9 23:11 | 显示全部楼层
wheretoqo 发表于 2016-11-9 13:33
您好,您能把您编译的内核分享一下吗?我的邮箱

BSP 你有吗,分享一下啊,网上找不见。
wheretoqo 发表于 2016-11-10 10:27 | 显示全部楼层
你好,我现在也要测ADC的通道,初学,希望您多多帮助。您能把您做的ADC的测试程序发给我一份吗?非常感谢!!QQ邮箱:3236472679@qq.com
wheretoqo 发表于 2017-1-12 11:28 | 显示全部楼层
lyjchong 发表于 2016-8-2 09:14
很早提的问题了,看到还没结贴,自己过来把这个空白给填上吧。
首先,这是NUC972的板子,它有8路ADC, ...

我想要那个回调函数,写了好久总是不对,不知道通道怎么配置,请指教
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

9

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部