在此之前,我遇到了DMA传输失败的问题,具体的代码和描述在:https://www.stmcu.org.cn/module/forum/thread-622224-1-1.html 后来发现是因为DMA的CR寄存器的EN位无法置一,是因为产生了总线传输错误,从而导致FIFO错误和数据流传输错误。从而硬件清零EN位。 仔细研究了一下,发现H7系列的DMA无法访问DTCM和ITCM区域,而KEIL默认的存储SRAM就在0x20000000地址开始,正好在DTCM区域。 所以DMA是访问不到这里的,自然不能传输成功,所以把我要传输的数组设置在0x24000000地址以外就可以了。在KEIL5设置一下即可。 |