手把手教你如何使用DMA转运ADC多通道数据


目录

前言

一、介绍DMA

(1)概念

(2)硬件资源

(3)整体框图

二、代码实现

(1)DMA初始化

(2)使能通道

(3)定义存放数组

(4)主函数 

 三、应用实现

(1)硬件连接

(2)实验目的 

(3)实验现象

 ​编辑

(4)实验结果

总结

前言

上文讲述了使用非扫描模式配置ADC多通道,但是为了提高效率,本文会用扫描模式配置多通道。

但是规则组的数据寄存器只能放得下一个通道的转换结果,后来的数据会将已在的数据进行覆盖,为避免出现这种情况,本文会使用DMA将每个通道的数据进行搬运,以此实现扫描模式配置ADC多通道。


提示:以下是本篇文章正文内容,下面案例可供参考

一、介绍DMA

(1)概念

DMA的全称是Direct Memory Access,意为直接存储器存取。

DMA用于外设和存储器以及存储器和存储器之间的高速数据传输,并且这个传输过程无需CPU干涉,节省了CPU的资源。

(2)硬件资源

对于大容量的STM32芯片,一般都有两个DMA外设。分别是DMA1(7个通道),DMA2(5个通道)

每个通道都支持软件触发和特定的硬件触发。

硬件触发一般用于外设和存储器之间,软件触发用于存储器和存储器之间。

(3)整体框图

上图为DMA的整体框图,从图中我们可得以下几点信息

  1. DMA仲裁器配置通道优先级。在总线矩阵中也有仲裁器,当DMA和CPU同时向同一个数据发送请求时,会暂停CPU的请求,但也会有一半的带宽留给CPU。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值