DMA(直接存储访问):内存与外设/内存之间的数据进行搬移,传输方法无需MPU,直接控制传输;作用是为MPU减负;
STM32F429有2个DMA控制器,2个DMA控制器总共有16个数据流(每个控制器8个)。每个DMA控制器都用于管理一个或者多个外设的存储器访问请求。每个数据流总共可以有多达8个通道(或请求),每个通道都有一个仲裁器,用于处理DMA请求间的优先级。
流(Stream):提供源和目标之间的单向传输通道;有优先级 每个流开4级32位的缓冲区(FIFO)
仲裁器:为内存和外设端口提供基于优先级的数据流,并启动外设/内存访问序列
可编程数据宽度、封装/解封、字节序
单次传输:DMA控制器可以产生单次传输
突发传输:可产生4/8/16个节拍的增量突发传输
DMA中断:达到半传输;传输完成;传输错误;FIFO错误;直接模式错误
DMA配置参数
①通道
②优先级
③数据传输方向
④存储器/外设 数据宽度
⑤存储器/外设 地址是否增量
⑥循环模式
⑦数据传输量