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