STM32单片机开发笔记三

这篇博客介绍了STM32的DMA(直接内存访问)功能,包括DMA的基本概念,详细配置步骤,以及结合实例展示了如何在STM32F103mini板上应用DMA的完整代码,内容参考了正点原子的STM32开发教程。
摘要由CSDN通过智能技术生成

前言

        前两节我们讲述了STM32的ADC和DAC,这次笔记向大家介绍 STM32 DMA 。在本节中,我们将利用 STM32 DMA 来实现串口数据传送,并在 TFTLCD 模块上显示当前的传送进度。

STM32 DMA 简介:

DMA ,全称为:Direct Memory Access,即直接存储器访问。DMA 传输方式无需 CPU 直接
控制传输,也没有中断处理方式那样保留现场和恢复现场的过程,通过硬件为 RAM 与 I/O 设备
开辟一条直接传送数据的通路,能使 CPU 的效率大为提高。
STM32 最多有 2 个 DMA 控制器(DMA2 仅存在大容量产品中),DMA1 有 7 个通道DMA2 有 5 个通道。每个通道专门用来管理来自于一个或多个外设对存储器访问的请求。还有一个仲裁起
来协调各个 DMA 请求的优先权。
STM32 的 DMA 有以下一些特性:
1、每个通道都直接连接专用的硬件 DMA 请求,每个通道都同样支持软件触发。这些功能
通过软件来配置。
2、在七个请求间的优先权可以通过软件编程设置( 共有四级:很高、高、中等和低 ) ,假如
在相等优先权时由硬件决定 ( 请求 0 优先于请求 1 ,依此类推 )
3、独立的源和目标数据区的传输宽度( 字节、半字、全字 ) ,模拟打包和拆包的过程。源和
目标地址必须按数据传输宽度对齐。
4、支持循环的缓冲器管理
5、每个通道都有 3 个事件标志 (DMA 半传输, DMA 传输完成和 DMA 传输出错 ) ,这 3
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值