ST32或者GD32重新配置AD+ DMA之后原本正确的顺序出错

ST32或者GD32开始配置了一次AD+ DMA,后面由于改变主频,需要重新配置AD+ DMA,之后DMA里面存采的数据的位置就发生了移动,(比如原来第一个数据,现在变成了第二个数据)导致通道误采,如何解决?

在重新配置AD+ DMA之后,由于主频改变,可能会导致DMA传输的速度发生变化,从而导致DMA存储的数据位置发生移动。这是因为DMA传输的速度是由主频和DMA配置寄存器的设置共同决定的。如果主频改变,而DMA配置寄存器的设置没有相应地进行调整,就会导致DMA传输速度不匹配,从而导致数据位置发生移动。
为了解决这个问题,需要重新配置DMA传输速度。具体来说,可以通过以下步骤进行:
1.重新计算DMA传输速度:根据新的主频和DMA配置寄存器的设置,重新计算DMA传输速度。
2.重新配置DMA传输寄存器:根据新的DMA传输速度,重新配置DMA传输寄存器,确保DMA传输速度与主频匹配。
3.重新配置DMA存储器地址:根据新的DMA传输速度和DMA存储器地址,重新配置DMA存储器地址,确保DMA存储器地址与DMA传输速度匹配。
通过以上步骤,可以重新配置AD+ DMA,确保数据存储的顺序正确,避免通道误采的问题。不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^