STM32的DMA的配置使用(关于原理。在《计算机组成与系统结构》的输入输出系统中有一些DMA的原理介绍)

本文介绍了STM32的DMA原理及其在STM32F103ZE中的应用,包括DMA的作用、工作方式、通道特性以及配置步骤。通过示例代码展示了如何配置DMA通道1来传输ADC1采集的数据,实现数据的自动搬运,减轻CPU负担。
摘要由CSDN通过智能技术生成

DMA原理:(DMA原理我也没有仔细研究,就根据自己学习的,说说自己的一些理解。百度资料也可以查到很多)

DMA作用:用于搬运数据,用于解放CPU与外设之间频繁的数据交流,使CPU专注于运算功能。

方式:外设与DMA直接访问内存,就得和CPU互斥使用内存,而互斥方式是这3种。

1.停止CPU访内    2.周期挪用   3.DMA与CPU交替访内

STM32F10x的DMA介绍

1.在STM32F103ZE中,有DMA1,DMA2这2个DMA.   DMA1有7个通道,DMA2有5个通道。 一个仲裁器协调DMA通道间的优先权<STM32>

附:在计组中,就有关于仲裁器的详细介绍,可以了解一下原理。集中式仲裁:链式,计数器式,独立式3种仲裁。(链式+独立式是使用最广且好的)。分布式仲裁

2.每个通道都有直连专用硬件DMA请求,每个通道都同样支持软件触发,软件配置

3.同一DMA模块,硬件通道有默认优先级, 除非进行软件编程设置优先级.(其实你了解一下仲裁的原理,链式仲裁是按循序访问,也是具有默认优先级的)

4.每个通道都有3个事件标志(DMA半传输,DMA传输完成和DMA传输出错)

了解一个知识,一定要了解架构,原理。再来学会它的应用。不说闲话,由图可知DMA挂接在AHB总线上

了解DMA1请求映像<DMA2类似>

从外设[ TIMx(1,2,3,4),ADC1,SPI1,,SPI/I2S,I2Cx(1,2),USAERTx(1,2,3) ]产生的7个请求,通过逻辑“或”输入到DMA控制器。*但同时只有一个请求有效<DMA只能为一个通道工作>.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值