stm32之DMA隨筆1

DMA:Data Memory Access,直接存儲器訪問。主要功能:可以把數據從一個地方搬到另一個地方,而且不佔用cpu

(可用於led,lcd)
DMA1和DMA2各有7個通道,可以實現P(外設)->M(內存),M->P,M->M

DMA功能框圖:
1,DMA請求,
2,通道 (DMA1 7個通道 DMA2 5個通道) 
3,仲裁 
    <1>軟件  DMA_CCRX(寄存器)
    <2>硬件        同一個DMA:先比較優先級,在比較通道號,通道號越小,優先級越高。
                不同DMA:DMA1>DMA2
                
                
DMA編程: (以stm32爲例)
1 DMA_Initdef結構體初始化 
{結構體成員:1 外設地址DMA_CPAR          存儲器地址DMA_CMAR                      傳輸方向,DMA_CCR:DIR (哪來到哪去)
                     2 傳輸數目DMA_CNDTR      外設地址是否遞增DMA_CCRx:PINC 內存地址是否遞增DMA_CCRx:MINC 外設數據寬度DMA_CCRx:PSIZE    存儲數據寬度DMA_CCRx:MSIZE (數量與單位)
                       3 傳輸模式DMA_CCRx:CIRC 傳輸過半,傳輸完成,傳輸錯誤DMA_ISR(完成度)
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章