控制/MCU
什么是DMA?
DMA代表直接内存访问控制器。
DMA 是一种总线主控和系统外设,可在外设和内存之间以及内存到内存之间提供高速数据传输。无需任何 CPU 操作
即可通过 DMA 快速移动数据,从而为其他操作腾出 CPU 资源。
本文以STM32L476器件为例。STM32L476 器件嵌入了 2 个 DMA:DMA1 和 DMA2。
每个通道专用于管理来自一个或多个外设的内存访问请求。两个 DMA 控制器共有 14 个通道。每个通道专用于管理来自一个或多个外设的内存访问请求。每个通道都有一个仲裁器来处理 DMA 请求之间的优先级。
1.1目标
学习如何在 STM32CubeIDE 中设置 DMA 传输。
创建从 RAM 到 RAM 的简单 DMA 内存到内存传输并使用中断传输。
1.2 DMA内存到内存实例概述
使用 STM32CubeIDE 并使用 DMA 生成代码。
学习如何使用 HAL 设置 DMA。
通过比较传输的缓冲区来验证正确的功能。
2在STM32CubeIDE中创建工程
下面的示例使用 NUCLEO-L476RG 板[1]。
主面板中的文件》新建》 STM32 项目。
使用Board Selector选择NUCLEO-L476RG板,如下图所示:
如果之前没有下载,STM32CubeL4 Cube 库的下载会自动开始。下载可能需要一些时间。
保存项目。
DMA 不需要引脚配置。
全部0条评论
快来发表一下你的评论吧 !