STM32
直播中

贾永世

8年用户 1886经验值
私信 关注
[问答]

从stm32l152rbt6移植到stm32l152rbt6-A遇到的问题求解

程序在STM32l152rbt6里运行正常,但移植到stm32l152rbt6-A后,发现用DMA从ain11读取的AD值一直是2083的样子,换成AIN10现象也一样,但同样的代码,把adc输入口换成Ain21就又正常,不知是什么回事?
     谢谢

回帖(1)

胡秋阳

2024-4-8 17:27:12
从STM32L152RBT6移植到STM32L152RBT6-A时出现AD值错误的问题,可能有以下几个原因:

1.硬件错误:检查硬件是否正确连接,包括电源、引脚配置、输入端口连接等。确保ADC输入引脚的开路状态和电压范围正确。

2.时钟配置错误:检查时钟源和时钟分频配置是否正确。ADC需要一个稳定的时钟源来进行转换。确保时钟源的频率和分频配置与AD转换的要求相符。

3.ADC配置错误:检查ADC的配置是否正确。包括通道选择、采样时间、扫描模式等。尤其是确认通道选择的正确性,确保使用的通道与硬件连接匹配。

4.DMA配置错误:检查DMA的配置是否正确。包括DMA通道的选择、地址和数据宽度配置等。确保DMA配置能够正确地读取ADC数据,并将数据存储到指定的内存地址中。

5.固件版本不匹配:检查程序使用的固件版本是否与目标芯片相匹配。确保程序所使用的库函数和驱动程序能够正确地支持目标芯片。

通过以上几个方面的排查,可以逐步确定问题的所在,进而解决移植过程中出现的AD值错误的问题。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分