STM32F0系列串列埠DMA收發資料

2021-10-24 17:23:41 字數 886 閱讀 6444

這裡用的庫函式版本,晶元型號為stm32f030c8t6.在用到串列埠dma時,要按以下幾個步驟進行。
1.確定使用的串口號,這裡,我用的是usart2,對應復用的引腳是pa2,pa3。再根據資料手冊查詢其對應dma通道。

2.先進行串列埠初始化配置

void

usart2_init()

3.再配置dma初始化

```c

u8 dma_rx[temp_bufsize_len]=;

u8 dma_tx[temp_bufsize_len]=;

void

dma1_config

(void

)//注意:dma初始化沒有使能dma_ch4,我們只需在要傳送資料時使能即可

4.用dma接收資料

void

usart2_irqhandler

(void

)//接收空閒中斷處理if(

usart_getitstatus

(usart2, usart_it_idle)

!= reset)

}

5.用dma傳送資料

void

dma_enable_tx

(dma_channel_typedef *dma_chx, u8 len)

intmain

(void

)}

以上是我對串列埠dma的使用理解,希望能幫助到大家,謝謝**。

STM32F0庫函式初始化系列 PWM輸出

void tim1 configuration void tim timebaseinittypedef tim time1basestructure tim ocinittypedef tim ocinitstructure rcc apb2periphclockcmd rcc apb2perip...

STM32F10x 串列埠使用DMA

dma direct memory access,直接儲存器訪問 是所有現代電腦的重要特色,它允許不同速度的硬體裝置來溝通,而不需要依賴於 cpu 的大量中斷負載。否則,cpu 需要從 把每一片段的資料複製到暫存器,然後把它們再次寫回到新的地方。在這個時間中,cpu 對於其他的工作來說就無法使用。d...

STM32F0 休眠模式下 ADC取樣失效

筆者最近在作某汽車上的智慧型方向盤按鍵專案,系統要求待機電流小於100ua,同時能檢測系統輸入電壓狀態,做到能自檢欠壓和過壓,並通過lin傳送給中控。故筆者在對輸入電壓加了乙個分壓電路來檢測,現在客戶測試發現過壓和欠壓的判斷閾值與要求不符合,筆者在實際測試過程中也確實發現了問題,但未燒錄過程式的板子...