STM32H743关于ADC与DMA不工作问题

这几天在调试ADC与DMA时,发现2个问题,这里记录以下,避免后面再入坑。
1,ADC采集完成后能正确产生DMA请求,但是DMA中断后进入报错流程,具体错误为DMA传输失败,最后还是在网上找到的同样的问题,keil把RAM的基地址设置为0x2000000,程序在编译的时候,内存变量包括传入DMA的buffer都从这个基地址往后安排,单DMA访问不了这个区域的内存空间,从而产生了错误,解决的最快办法就是修改keil的RAM配置,或者用__attribute__属性修改DMA buffer到一个DMA可以访问的地址。
2,cubemx生成的代码中, ADC先于DMA初始化,导致数据采集的数据不正常,手动调整一下初始化顺序,先初始化DMA再初始化ADC一切就OK了,也有网友反馈是新版本cubemx的问题。

猜你喜欢

转载自blog.csdn.net/wenshifang/article/details/106328465
今日推荐