今天來說說我看了STM32_DMA的部分
DMA(Direct Memory Access,直接存儲取訪問),實現資料高速在外設暫存器與記憶體之間或者記憶體與記憶體之間傳輸提供了這個方法。
為什麼會高速傳輸,是因為DMA傳輸實現高速資料移動過程無需任何CPU 操作控制。從硬體層次上來說,DMA控制器是獨立於Cortex 內核,類似GPIO、USART外設一般,只是DMA的功能是可以快速移動記憶體資料。
這個上面是stm32f030手冊裡的DMA框圖,可以看到DMA上連接的AHB通道有五個通道來決定要使用哪個外設來使用DMA通道來做直接的傳輸,下圖是030的DMA通到對應的暫存器。
目前還沒使用過這種直接捨棄跟CPU溝通,直接傳輸到獨立DMA通道上,我看了一些關於DMA的文章這格主要是再把一些不是重要的是拿給DMA做處理讓CPU去做其他較為複雜的計算,留給CPU更多資源去這些事,我只是個學生還不是工程師沒寫過什麼大專案~XD