STM32嵌入式软件——DMA

本文介绍了DMA功能及其在数据高速传输中的作用,包括DMA功能框图、传输方向控制、数据配置以及内存与硬盘等存储器类型。DMA通过独立于CPU的控制器实现数据搬运,提升系统效率。
摘要由CSDN通过智能技术生成


前言

DMA是实现数据高速在外设寄存器与存储器之间或者存储器与存储器之间传输数据提供了高效的方法。它在传输的过程中是不需要通过CPU的,相当于就是电脑里面的这个闪存。


一、DMA功能框图

这个控制器,独立于内核,属于一个单独的外设,相对而言结构比较简单。他的主要作用就是不用通过这个CPU而将数据从一个地方搬运到另外一个地方。而就能够将我们的CPU解放出来。
在这里插入图片描述

我们知道DMA传输数据的方向有三个:从外设到存储器,从存储器到外设,从存储器到存储器。具体的方向DMA_CCR位4DIR配置:0表示从外设到存储器,1表示从存储器到外设。这里面涉及到的外设地址由DMA_CPAR配置,存储器地址由 DMA_CMAR配置。
如果外设要想通过DMA来传输数据,必须先给DMA控制器发送DMA请求,DMA收到请求信号之后,控制器会给外设一个应答信号,当外设应答后且 DMA 控制器收到应答信号之后,就会启动DMA的传输,直到传输完毕。
当然,这个里面也是会有这个优先级问题。

二、DMA数据配置

这个数据方面的配置就是一个关于DMA的结构体了,这个里面会有大量的相关方面的代码角度的设定了。

三、关于储存器

存储器是用来存储程序代码和数据的部件,存储器按其存储介质特性主要分为“易失性存储器”和“非易失性存储器”两大类。在计算机中易失性存储器最典型的代表是内存,非易失性存储器的代表则是硬盘。

关注我,持续了解行业知识;如果本文让你有所收获,期待你的点赞。
如果想要获取相关知识资料,请扫码关注微信公众号:

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值