STM32学习笔记7 --------- DMA(直接存储器访问)

DMA主要功能:

  • 传输数据,但不需要占用CPU。
  • 数据支持从外设到存储器或者从存储器到存储器(SRAM或Falsh)

DMA控制器独立于内核,包含DMA1和DMA2,其中DMA1有7个通道,DMA2有5个通道,可看成传输数据的管道,DMA2只存在于大容量的单片机中。

从编程的角度看,只需掌握以下3部分即可:
1.DMA请求

外设要通过DMA来传输数据,必须向DMA控制器发送DMA请求。不同的DMA控制器的通道对应不同的外设请求。

在这里插入图片描述
2.通道

每个通道虽然可以接受多个外设请求,但是同一时间只能接受一个,不能同时接收多个。

3.仲裁器

响应先后顺序由仲裁器管理。分为两个阶段:

  • 1.软件阶段,可以在DMA_CCRx寄存器中设置,有4个等级:非常高、高、中和低
  • 2.硬件阶段,如果两个或以上DMA请求设置的优先级一样,则它们的优先级取决于通道编号,编号越低优先级越高。
DMA配置注意事项:
  • 数据从哪里来,到哪里去
  • 传输数据的单位是什么,要传多少
  • 什么时候传输完成(一次传输还是循环传输)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值