【众拳】独角兽F0开发板HAL库视频教程及资料
STM32F0 单通道ADC+DMA采集
DMA 简介
直接存储器存取 (DMA) 用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。无须 CPU 干预,数据都可以通过 DMA 进行快速地传输。这就为其他操作保留了 CPU 资源。两个 DMA 控制器共有 5 个通道,每个通道专门用来管理来自于一个或多个外设对存储器访问的请求。还有一个仲裁器来协调各个 DMA 请求的优先权。
DMA 主要特性
● 5个独立的可配置通道 ( 请求 )
● 每个通道都直接连接专用的硬件DMA请求,每个通道都同样支持软件触发。这些配置通过软件来完成。
● 在同一个 DMA 模块上,多个请求间的优先权可以通过软件编程设置(共有四级:很高、高、中等和低),优先权设置相等时由硬件决定 (请求1优先于请求2 ,依此类推 )。
● 独立数据源和目标数据区的传输宽度 ( 字节、半字、全字 ) ,模拟打包和拆包的过程。源和目标地址必须按数据传输宽度对齐。
● 支持循环的缓冲器管理
● 每个通道都有 3个事件标志 (DMA 半传输、 DMA 传输完成和 DMA 传输出错 ) ,这 3 个事件标志逻辑或成为一个单独的中断请求。
● 存储器和存储器间的传输
● 外设到存储器和存储器到外设,外设到外设间的传输
● 闪存、 SRAM 、 APB 和 AHB 外设均可作为访问的源和目标
● 可编程的数据传输数目:最大为 65536
实验程序:
STM32F0 单通道ADC DMA采集程序.zip
(7.63 MB)
更多HAL库视频及资料请关注我发布的其他贴子
|