采ADC值的建议

[复制链接]
1197|6
 楼主| 火山LF 发表于 2016-8-24 08:36 | 显示全部楼层 |阅读模式
本帖最后由 火山LF 于 2016-8-26 19:59 编辑

采ADC值的建议

1、适当延长ADC的sampling和hold的时间
2、在采ADC时,要用万用表同时检测三个地方的电压,参考电压、IO口电压、外部电压提供源电压
3、一定要滤波,在计算sum/count的时候,要注意sum的值不要溢出


ADC有查询和中断的方式,当一起使用的时候,程序会一直停在查询的while处下不去
1、查询
                while (!(HWREG8(ADC12_B_BASE + OFS_ADC12IFGR0) & ADC12IFG0));

2、中断方式
    ADC12_B_clearInterrupt(ADC12_B_BASE,
                           0,
                           ADC12_B_IFG0
                           );

    //Enable memory buffer 0 interrupt
    ADC12_B_enableInterrupt(ADC12_B_BASE,
                            ADC12_B_IE0,
                            0,
                            0);

注意两者不能同时使用。

打赏榜单

dirtwillfly 打赏了 1.00 元 2016-08-24
理由:以示鼓励

dirtwillfly 发表于 2016-8-24 11:15 | 显示全部楼层
感谢分享
 楼主| 火山LF 发表于 2016-8-24 11:51 | 显示全部楼层
cemaj 发表于 2016-8-24 16:21 | 显示全部楼层
使用什么滤波算法?
cemaj 发表于 2016-8-24 16:23 | 显示全部楼层
一般都是adc中断读取时数据。
 楼主| 火山LF 发表于 2016-8-24 18:11 | 显示全部楼层
cemaj 发表于 2016-8-24 16:21
使用什么滤波算法?

其中之一的滤波方法:
取24个值,排序,前4个和后4个数据不要,只要中间的16个值,然后求平均值,这样的到的AD值会比较准确
 楼主| 火山LF 发表于 2016-8-24 18:12 | 显示全部楼层
cemaj 发表于 2016-8-24 16:23
一般都是adc中断读取时数据。

其中之一的滤波方法:
取24个值,排序,前4个和后4个数据不要,只要中间的16个值,然后求平均值,这样的到的AD值会比较准确
您需要登录后才可以回帖 登录 | 注册

本版积分规则

88

主题

816

帖子

16

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