STM32学习笔记 & 直接内存访问控制器DMA 06

直接内存访问(DMA)允许在外设和存储器之间进行高速数据传输,无需CPU介入。STM32中有12个可配置的DMA通道,分为DMA1和DMA2,具有独立的优先级设置。每个通道支持不同数据宽度的传输,并能处理循环缓冲。STM32F1xxHAL库提供了初始化、启动、停止以及中断处理等功能,便于用户进行DMA操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

直接内存访问控制器DMA

简介

  • 直接存储器访问(DMA)用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输

  • 无须CPU干预,数据可以通过DMA快速地移动,这就节省了CPU的资源来做其他操作

  • 两个DMA控制器有12个通道(DMA17个通道,DMA25个通道)

  • 每个通道专门用来管理来自于一个或多个外设对存储器访问的请求。还有一个仲裁器来协调各个DMA请求的优先权

DMA主要特性

  • 12个独立的可配置的通道(请求)DMA17个通道,DMA25个通道

  • 每个通道都直接连接专用的硬件DMA请求,每个通道都同样支持软件触发。这些功能通过软件来配置

  • 在同一个DMA模块上,多个请求间的优先权可以通过软件编程设置(共有四级:很高、高、中等和低),优先权设置相等时由硬件决定(请求0优先于请求1,依此类推

  • 独立数据源和目标数据区的传输宽度(字节、半字、全字),模拟打包和拆包的过程。源和目标地址必须按数据传输宽度对齐

  • 支持循环的缓冲器管理

  • 每个通道都有3个事件标志

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值