在上篇博客简单介绍DMA后,我将在这里详细介绍下一个简单的DMA传输例子,即将FLASH中的数据传输到SRAM中,是一种MtoM(存储器传输到存储器)的方式。
首先按老步骤DMA的点C和点H文件,然后在点C种定义一个32位常量数组SRC自动cu存放在FLASH中,然后定义一个对应的DST数组在SRAM中(一般变量都在SRAM中)。然后是初始化步骤,详细代码如下:
具体实现功能就是设置为32位传输8个字节,用MtoM的模式并且是DMA1通道6,注意不要将L6看成16。然后我们需要去判断是否传输成功,我们再写一个比较函数并且把结果用LED去显示出来。具体图如下:
详细结果我们可以看到最终STM32开发板上的绿灯点亮了,表示传输数据成功,图如下: