1、我在协议栈用单次采集
for(i=0;i<30;i++)
{ HalAdcSetReference (HAL_ADC_REF_125V);
ADC_Array[i] = HalAdcRead(HAL_ADC_CHN_AIN5,HAL_ADC_RESOLUTION_14);
}
采集后,对数据进行软件滤波处理,用二次多项式对采集值进行校准(浮点型运算)。
1、结果发现,AD采集值不稳定,偶尔还会有AD值异常现象。请问这是为什么?
2、我如果用如下方式,进行AD采集,AD值满量程8191,
for(i=0;i<AD_COLLECT_NUM;i++)
{ HalAdcSetReference (HAL_ADC_REF_125V);//设置内部参考电压源为电源电压
ADC_Array[i] = HalAdcRead(HAL_ADC_CHN_AIN5,HAL_ADC_RESOLUTION_14); //采集AD值 //可以采集多次,取平均;或者添加软件滤波
MicroWait(10); //500微秒
}
user4711142:
16位AD采集值,正常是1534左右,实际会在1534到1460之间跳动,这个跳动太大了,请问有没有办法解决。
我是P0_5直接接到了1M-51K分压电路,请问有什么办法
Viki Shi:
看一下这边的类似问题:
e2echina.ti.com/…/49616
blog.csdn.net/…/79990743
user4711142:
回复 Viki Shi:
1、CC2530中转换速率是怎么计算的?是否可以认为设置
2、Tconv=(抽取率 +16)x0.25 μs ,这个是转换时间,抽取速率越大,转换时间越长是么?
xyz549040622:
那个间隔时间是否可以改为判断采集是否完成的标志,这样确保上一次转换可以完成。ad值异常,有可能是上一次还没完成,你又开始了下一次的转换。