多个模拟通道采样,实际电压输入稳定;
但 ADC 结果存在显著偏差(部分通道误差达 ±100~200 mV);
有时通道之间的误差也相对固定,像是“交叉干扰”;
加 RC 滤波略有改善,但问题未根本解决。
关键优化操作代码参考
增大采样时间(针对每通道配置)
c
复制
编辑
stc_adc_ch_cfg_t stcChCfg;
stcChCfg.u8Channel = ADC_CH0;
stcChCfg.u8SamplingTime = 0x80; // 采样时间足够长
ADC_ChCfg(ADC, &stcChCfg);
设置合适触发间隔(使用定时器避免连拍)
c
复制
编辑
// 每10ms触发一次ADC序列转换,避免连续通道切换太快
参考电压外部输入建议
使用高精度基准源(如 REF3025/LM4040);
外接电容 0.1uF + 10uF 降低参考噪声;
设置寄存器使用 ADC_VREF_EXTERNAL(如支持);
你是否遇到过类似的 ADC 偏差问题?你是如何解决的?
|