1.DMA直接存储器访问,用来提供外设寄存器(GPIO口,TIMx,USART等)<->存储器(SRAM(程序运行在这个空间),Flash(程序存储在这里面),u8 data[]--都是运行在SRAM空间里的),存储器<->存储器(这种模式不可以和循环模式同时使用)之间数据传送,节省了MCU的资源。
外设:片上外设:芯片上的,GPIO口,USART等。
片外外设:连接的外部设备,例如dht11,MQ2等。
内核:是芯片架构,里面有各种逻辑电路,类似于人脑。
2.DMA1通道选择:ADC1的DMA通道就是DMA1,不管是ADC1的哪个通道,使用DMA对应的都是DMA1的通道1;同样ADC2对应DMA2的通道2;
3.DMA的作用:DMA传输方式无需CPU直接控制传输, 也没有中断处理方式那样保留现场和恢复现场过程, 通过硬件为RAM和IO设备开辟一条直接传输数据的通道, 使得CPU的效率大大提高。
4.DMA的工作原理
当用户将参数设置好, 主要涉及源地址、 目标地址、传输数据量这三个, DMA控制器就会启动数据传输, 传输的终点就是剩余传输数据量为0( 循环传输不是这样的) 。换句话说只要剩余传输数据量不是0, 而且DMA是启动状态, 那么就会发生数据传输。
5.DMA主要特性
● 12个独立的可配置的通道(请求): DMA1有7个通道, DMA2有5个通道
● 每个通道都直接连接专用的硬件DMA请求,每个通道都同样支持软件触发。这些功能通过软件来配置。
● 在同一个DMA模块上,多个请求间的优先权可以通过软件编程设置(共有四级:很高、高、中等和低),优先权设置相等时由硬件决定(请求0优先于请求1,依此类推) 。
● 独立数据源和目标数据区的传输宽度(字节、半字、全字),模拟打包和拆包的过程。源和目标地址必须按数据传输宽度对齐。