| 现在遇到一个问题,AD 12bit采样,高4位一直为高,低8位正常。用的是STM32CubeMX自动生成的代码 如果把分别率改成8位,高4位为高,低4比特变化 |
如需获得 stm32g070RB 等器件的更多信息,请点击链接或 点击此处 联系在线客服!
现在遇到一个问题,AD 12bit采样,高4位一直为高,低8位正常。用的是STM32CubeMX自动生成的代码 如果把分别率改成8位,高4位为高,低4比特变化
关于这个问题,你可以先阅读下这个帖子,专门介绍G0系统ADC应用注意事项的,相信跟你的问题很相关。 STM32G0系列ADC扫描序列模式解读 *]STM32G0系列ADC扫描序列模式解读 (qq.com)
另外,你注意最基本的ADC的分辨率配置别选择错了。按理不该出现这种低级错误,不过我还是提醒下。
谢谢你的答复。 看了扫描模式的帖子,理清了一些概念,收获很多 但是目前的问题依旧。 现在每个通道的AD值在跳动,仅限于低8位。给每个的通道施加不同的电压,AD采样值有反应,说明连接关系正常。 就是高4比特一直为高。 我怀疑是分辨率设错了,看了手册,00代表12bit,现在RES寄存器是00,应该没有错。 改成8bit采样分辨率的时候,高4bit还是不变。说明不是分辨率的问题。 VREF=3.3v 现在只能怀疑硬件了。
谢谢你的答复。 看了扫描模式的帖子,理清了一些概念,收获很多 但是目前的问题依旧。
嗯,你检查下所有电源脚,包括VDDA,REFF等。 GO的Cube库里有例程,你可以直接做些测试验证,先区分软硬件问题。
问题解决了。vref有电,VDDA管脚没有电,所以AD异常。CPU居然工作了。
问题解决了。vref有电,VDDA管脚没有电,所以AD异常。CPU居然工作了。
呵呵 不管怎么样,你得保证这些最基本的硬件条件是正确的。