STM32开发 -- DMA详解
如需轉載請注明出處:https://blog.csdn.net/qq_29350001/article/details/84530065
在GPS部分有用到DMA,接下來看一下它的使用。
一、DMA簡介
直接存儲器存取(DMA) 用來提供在外設和存儲器之間或者存儲器和存儲器之間的高速數據傳輸。無須CPU干預,數據可以通過DMA快速地移動,這就節省了CPU的資源來做其他操作。
兩個DMA控制器有12個通道(DMA1有7個通道, DMA2有5個通道),每個通道專門用來管理來自于一個或多個外設對存儲器訪問的請求。還有一個仲裁器來協調各個DMA請求的優先權。
二、DMA主要特性
● 12個獨立的可配置的通道(請求): DMA1有7個通道, DMA2有5個通道
● 每個通道都直接連接專用的硬件DMA請求,每個通道都同樣支持軟件觸發。這些功能通過軟件來配置。
● 在同一個DMA模塊上,多個請求間的優先權可以通過軟件編程設置(共有四級:很高、高、中等和低),優先權設置相等時由硬件決定(請求0優先于請求1,依此類推) 。
● 獨立數據源和目標數據區的傳輸寬度(字節、半字、全字),模擬打包和拆包的過程。源和目標地址必須按數據傳輸寬度對齊。
● 支持循環的緩沖器管理
● 每個通道都有3個事件標志(DMA半傳輸、 DMA傳輸完成和DMA傳輸出錯),這3個事件標志邏輯或成為一個單獨的中斷請求。
● 存儲器和存儲器間的傳輸
● 外設和存儲器、存儲器和外
總結
以上是生活随笔為你收集整理的STM32开发 -- DMA详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JMS学习一(JMS介绍)
- 下一篇: STM32开发 -- Git的详细使用