关于32的DMA

本文介绍了STM32的DMA(直接内存存取)功能,阐述了DMA如何减少CPU负担,同时执行多个任务。通过DMA,单片机可以在进行串口传输时执行其他操作,如控制流水灯。内容涵盖了DMA的存储器到存储器、外设到存储器和存储器到外设的数据搬运,并讨论了DMA通道、优先级仲裁以及配置过程。
摘要由CSDN通过智能技术生成

根据本人的一些理解,对于DMA在这里进行一些解释:
DMA(Direct Memory Access,直接内存存取) 是所有现代电脑的重要特色,它允许不同速度的硬件装置来沟通,而不需要依赖于 CPU 的大量中断负载。否则,CPU 需要从来源把每一片段的资料复制到暂存器,然后把它们再次写回到新的地方。在这个时间中,CPU 对于其他的工作来说就无法使用。(选自360百科)

我们进行如下的一个比较通俗的理解,在32中也有DMA,存放于内核,最常用的功能就是搬运数据,我们都知道,单片机执行程序是依次执行的,但是如果有了DMA,我们的单片机可以同时执行两件事情,这样就可以节省大量的CUP资源,在执行DMA数据传输的时候,还可以进行其他工作。
最简单的例子就是,我们在用DMA进行串口传输数据的时候,还可以让单片机去执行流水灯等。
DMA可以搬运数据可以从外设到存储器(ADC采样数据给程序里的一个变量),也可以从存储器到外设(FLASH到SRAM),也可以从存储器到存储器三种。存储器到存储器最直观的就是从FLASH到SRAM。
这里也同时讲一下FLASH跟SRAM(静态随机存取存储器)的区别,FLASH(存储器又成为闪存)是存放代码的,SRAM是存放程序运行的中间变量的,FLASH具有掉电不丢失。
首先我们要知道大容量的1系列的32有两个DMA,分为DMA1,DMA2
选自参考手册
我们可以从

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值