本帖最后由 火山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);
注意两者不能同时使用。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
感谢群主大大
其中之一的滤波方法:
取24个值,排序,前4个和后4个数据不要,只要中间的16个值,然后求平均值,这样的到的AD值会比较准确
一周热门 更多>