DMA学习总结

DMA主要功能是传输数据,其特点是不需占用CPU,在数据传输时cpu可以做别的事。数据传输支持外设与存储器互传,存储器与存储器互传。一个处理器可能有多个DMA控制器,一个控制器下又有多个通道。

DMA数据配置

以下基于CORTEX-M3处理器的寄存器模式对DMA进行数据配置

  1. 数据的去向
    传输方向一共有三个:外设到存储器,存储器到外设,存储器到存储器
    具体方向由DMA寄存器配置。既然传输,DMA就需要知道传输双方的地址,两者地址均由DMA控制器的寄存器控制
  2. 传多少数据
    知道数据的流向,还需要明确传输的数据量。如果一个32位寄存器那么一次最多能够传输65535个数据。
    数据正确传输,需要使传输双方目标地址的数据宽度保持一致。以串口向电脑发送数据为例,串口的数据寄存是8位的,那么待发送数据长度也是8位。外设和存储器的数据宽度均可由寄存器配置。
    为了保证数据有条不紊的传输,需要正确射中i两边数据指针的增量模式,这也是由寄存器配置。以串口向存储器发送数据为例,串口发送的数据很多的时候,每发送完一个,存储器的地址就要加1;但是串口数据寄存器只有一个,所以外设的地址指针固定不变。如果是存储器到存储器,两者的地址指针均需要同步变化。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值