STM32中DMA用法

      DMA英文全称为:Data Memory Access(直接存储器访问)。说通俗点,其实就是把数据从一个地方传输到另一个地方。想必很多朋友都会有疑问了,数据直接赋值过去不就行了吗?其实不然,DMA是直接去存储器访问不需要把数据暂存到寄存器中,所以这个过程不占用CPU,这样完全释放了我们的CPU让它去处理别的任务。

      STM32中的DMA有两种DMA1与DMA2,分别有7个通道和5个通道,都有三种传输方式(1.外设传输到存储器 2.存储器传输到外设 3.存储器传输到存储器)具体可以参考STM32的官方手册。并且不同的外设只能通过规定的通道,多个通道一起传输时,就需要DMA仲裁器去处理,来按优先级传输。具体图如下:

     

    

       优先级处理的时候,先按软件设置,再看硬件本身(DMA1优先DMA2,通道小的比通道编号大的优先级高)

初步了解,直接来分析DMA的官方库中结构体吧,想必大家在学习这部分时候已经熟悉了库函数的操作了。大致DMA的初始化一共分为三步:

         

       

     

    接下来我在下篇博客分析下DMA的具体编程,让我们能够去真正使用它。

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值