什么是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 不需要引脚配置。
上一篇:STM32实现编码器M法测速接线
下一篇:STM32CUBEMX开发GD32F303(14)----IIC之配置OLED
推荐阅读最新更新时间:2024-11-09 11:36
设计资源 培训 开发板 精华推荐
- 使用 Analog Devices 的 LTC1046IN8 的参考设计
- LTC3546UFD 演示板、双通道同步 2+1A 或 2A 1+1A、4MHz 降压型 DC/DC 稳压器
- 使用 TLE625x 高速 CAN 收发器的感性负载接地损耗
- AD9142-M5375-EBZ,用于高速信号处理数模转换器 AD9142 的评估板
- SPX432 恒流吸收器的典型应用 ISINK = VREF/R1
- CN0274
- 双路功放
- RT9172 3A固定输出电压LDO稳压器典型应用电路
- 具有增强型 LED 驱动器和接近感应的 SX8636 低功耗电容式按钮触摸控制器(8 个传感器)的典型应用
- 用于通信/电信的 4-LED 背光 LED 驱动器