本文以stm32 F303K8為例,不同型號的DMA配置方法略有不同。
本文設計的實驗如下:通過USART2接收數(shù)據(jù),并通過DMA將串口接受數(shù)據(jù)循環(huán)存入長度為100的uint8型數(shù)組。
思維導圖總覽:
1- 時鐘配置
有stm32基本知識應該知道Stm32的每個外設在使用前都需要開啟其時鐘,否則模塊不運行。
2 - DMA配置
使用DMA前要確定外設與DMA連接的通道,不用系列芯片的硬件設計略有不同,因此要去查對應型號的參考手冊。
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 - 使能外設發(fā)出DMA請求
DMA是在外設或軟件Requst之后才會發(fā)起傳輸,所以要使能外設發(fā)出DMA請求,這里是USART2_RX的請求。
-
STM32
+關(guān)注
關(guān)注
2289文章
11011瀏覽量
362333 -
dma
+關(guān)注
關(guān)注
3文章
572瀏覽量
102306 -
串口中斷
+關(guān)注
關(guān)注
0文章
67瀏覽量
14237 -
USART串口
+關(guān)注
關(guān)注
0文章
32瀏覽量
7021
發(fā)布評論請先 登錄
STM32標準庫、HAL庫和LL庫介紹

【NUCLEO-L476RG LL庫開發(fā)】STM32【LL庫】開發(fā)使用指南
STM32四種庫對比:寄存器、標準外設庫、HAL、LL

STM32G031K LL庫使用 - GPIO

STM32CubeMX 實戰(zhàn)教程:看門狗實驗(LL 庫)

LL庫串口+DMA

使用LL庫開發(fā)STM32:GPIO口與外部中斷

評論