今日学习内容:DMA
1. 为什么要用DMA :DMA 可以实现存储器和存储器,外设和存储器之间数据的高速传输,之前利用标志位判断数据是否发送或用中断服务程序,空闲标志位,rxne判断是否接受完成,不仅仅循环等待耗时久,而且对CPU的占用很大,利用dma直接硬件传输,不需要经过cpu就可以完成数据的传输。
2. DMA 的基本原理:DMA1有七条通道,每条通道中指定了只能使用哪几种外设,并且一条通道同时间只能连一个外设,并且只有一个通道能使用dma连接总线,所以dma也有优先级,分别是超级高,高,中,低,如果两个通道的优先级相同,同时请求,看通道序号,通道序号低的先用,dma和CPU同时连总线,dma先用。
3. 配置dma需要外设地址,存储器地址,数据传输方向,是否要循环,传输数据长度,判断存储器或者外设需不需要地址递增,给通道使能之后就改不了数据存储器,和数据长度,所以一定要最后再使能,利用传输完成标志位来判断是否完成传输或接收,需要手动清除传输完成标志位。
网硕互联帮助中心




评论前必须登录!
注册