本文以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è)在使用前都需要開(kāi)啟其時(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)求。
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
相關(guān)推薦
我們?cè)谶M(jìn)行STM32開(kāi)發(fā)的時(shí)候,使用寄存器進(jìn)行開(kāi)發(fā)的終究是少數(shù),大多數(shù)人還是習(xí)慣用庫(kù)函數(shù)進(jìn)行開(kāi)發(fā)。到目前為止,有標(biāo)準(zhǔn)外設(shè)庫(kù)、HAL
發(fā)表于 06-21 15:13
?1.3w次閱讀
下載地址:http://pan.baidu.com/s/1c0wjL5m 一樓二樓是具體使用方法。 已完,上傳文檔和工程模板: STM32 LL庫(kù)使用指南.pdf
發(fā)表于 07-02 03:03
LL庫(kù)有哪些應(yīng)用?LL驅(qū)動(dòng)程序功能有哪些?LL庫(kù)的使用方法是什么?
發(fā)表于 10-26 06:31
STM32 LL庫(kù)使用指南
發(fā)表于 01-23 17:31
?227次下載
STM32的HAL和LL庫(kù)能共同使用(混用)嗎?
發(fā)表于 02-28 16:57
?1.4w次閱讀
1.我是選擇寄存器開(kāi)發(fā)STM32,還是標(biāo)準(zhǔn)外設(shè)庫(kù)呢?
2.你有STM32L0標(biāo)準(zhǔn)外設(shè)庫(kù)嗎?
3.HAL
發(fā)表于 02-10 10:16
?1.1w次閱讀
1.我是選擇寄存器開(kāi)發(fā)STM32,還是標(biāo)準(zhǔn)外設(shè)庫(kù)呢?
2.你有STM32L0標(biāo)準(zhǔn)外設(shè)庫(kù)嗎?
3.HAL庫(kù)
發(fā)表于 03-05 06:17
?50次下載
最近使用STm32G031K6做一款I(lǐng)OT產(chǎn)品,選擇了用最新LL庫(kù)進(jìn)行開(kāi)發(fā),因?yàn)橹淠菍?duì)LL庫(kù)了
發(fā)表于 12-02 17:06
?17次下載
【LL 庫(kù)】詳細(xì)講述了 STM32CubeMX IWDG 和 WWDG 配置方法及使用方法,內(nèi)附圖文及代碼。
發(fā)表于 12-05 14:21
?21次下載
的資料少之又少??!自己做個(gè)記錄。 使用cubemx可以直接生產(chǎn)LL庫(kù)的代碼(我的工程里是hal庫(kù)和LL庫(kù)混用的),
發(fā)表于 12-27 19:31
?19次下載
文章目錄目的輸出與控制輸入與端口值讀取外部中斷總結(jié)目的GPIO口使用是單片機(jī)開(kāi)發(fā)中最簡(jiǎn)單的一塊,STM32的GPIO口無(wú)論是使用HAL庫(kù)還是LL庫(kù)
發(fā)表于 01-13 16:13
?13次下載
STM32的標(biāo)準(zhǔn)外設(shè)庫(kù)、HAL、LL軟件庫(kù),都有很多巧妙之處值得大家借鑒。 今天講講STM32Cbue
發(fā)表于 08-14 14:30
?1152次閱讀
和可維護(hù)性,從而節(jié)省開(kāi)發(fā)成本和時(shí)間。STM32 HAL庫(kù)是STM32系列芯片的HAL庫(kù),由ST公司提供和維護(hù)。下面將介紹
發(fā)表于 08-08 18:21
?4364次閱讀
STM32Cube LL庫(kù)的巧妙之處
發(fā)表于 09-27 16:26
?1396次閱讀
用戶(hù)使用STM32G473RET6芯片,開(kāi)發(fā)環(huán)境STM32CubeMX+Keil(LL庫(kù))。使用DMA
發(fā)表于 12-01 09:19
?2900次閱讀
評(píng)論