Advertisement

arm STM32-入门教程讲解 DMA

阅读量:

有关STM32的DMA功能的详尽说明可参阅前文,同时这篇通俗易懂的文章也可作为补充参考资料。

1.概述

DMA传输方式是指内核将总线控制权交予DMA控制器,由其负责数据传输过程的管理。这种方式的关键在于需明确设定数据来源地址、目标存储地址以及待传输的数据数量。

2. 配置步骤

2.1 抽象的配置过程

DMA通道x的配置流程如下:

  1. 配置DMA_CPARx寄存器,用于指定外设寄存器的地址。当外设发出数据传输请求时,该地址将作为数据传输的起点或终点。
  2. 通过DMA_CMARx寄存器设定存储器地址,当发生数据传输请求时,数据将从该地址被读取或写入到该地址。
  3. 在DMA_CNDTRx寄存器中配置需传输的数据数量。每次完成一次数据传输操作后,该数值会自动减少。
  4. 在DMA_CCRx寄存器中PL[1:0]位设置通道优先级等级。
  5. 在DMA_CCRx寄存器中配置包括数据传送方向、循环模式、外设与存储器的地址递增方式、数据宽度以及中断触发条件(如传输一半时或传输完成时)。
  6. 将DMA_CCRx寄存器中的ENABLE位进行设置,以激活并启动该DMA通道。

2.2 具体的配置过程

以串口DMA传输为例,ADC1的通道4被用于串口1的数据发送过程。

![](https://cdl.itad

全部评论 (0)

还没有任何评论哟~