本文以stm32 F303K8為例,不同型號的DMA配置方法略有不同。
本文設(shè)計的實驗如下:通過USART2接收數(shù)據(jù),并通過DMA將串口接受數(shù)據(jù)循環(huán)存入長度為100的uint8型數(shù)組。
思維導(dǎo)圖總覽:
1- 時鐘配置
有stm32基本知識應(yīng)該知道Stm32的每個外設(shè)在使用前都需要開啟其時鐘,否則模塊不運行。
2 - DMA配置
使用DMA前要確定外設(shè)與DMA連接的通道,不用系列芯片的硬件設(shè)計略有不同,因此要去查對應(yīng)型號的參考手冊。
F303K8上USART2_RX的請求連接在DMA1的Channel6上。后續(xù)的配置都圍繞對DMA1的Channel6的配置。
DMA的結(jié)構(gòu)如下,下圖截取自F4系列的數(shù)據(jù)手冊,F(xiàn)3的DMA結(jié)構(gòu)與F1的相同,但不影響借用F4的DMA結(jié)構(gòu)圖對配置方法進行理解。
要配置的內(nèi)容及API如下:
這里沒有使用DMA的中斷,因此沒有對具體的中斷進行使能。
3 - 使能外設(shè)發(fā)出DMA請求
DMA是在外設(shè)或軟件Requst之后才會發(fā)起傳輸,所以要使能外設(shè)發(fā)出DMA請求,這里是USART2_RX的請求。
-
STM32
+關(guān)注
關(guān)注
2270文章
10915瀏覽量
356774 -
dma
+關(guān)注
關(guān)注
3文章
566瀏覽量
100756 -
串口中斷
+關(guān)注
關(guān)注
0文章
67瀏覽量
13960 -
USART串口
+關(guān)注
關(guān)注
0文章
32瀏覽量
6874
發(fā)布評論請先 登錄
相關(guān)推薦
評論