ST32或者GD32开始配置了一次AD+ DMA,后面由于改变主频,需要重新配置AD+ DMA,之后DMA里面存采的数据的位置就发生了移动,(比如原来第一个数据,现在变成了第二个数据)导致通道误采,如何解决?
在重新配置AD+ DMA之后,由于主频改变,可能会导致DMA传输的速度发生变化,从而导致DMA存储的数据位置发生移动。这是因为DMA传输的速度是由主频和DMA配置寄存器的设置共同决定的。如果主频改变,而DMA配置寄存器的设置没有相应地进行调整,就会导致DMA传输速度不匹配,从而导致数据位置发生移动。实验器材:
探索者STM32F407开发板
硬件资源:
内部温度传感器,连接在ADC1_CH1上面.
实验现象:
用ADC测量内部温度传感器温度值,使用DMA方式传输,并通过串口观察数据。