STM32 USART DMA 多次傳送資料

2021-08-14 23:54:14 字數 785 閱讀 7843

最近因為公司專案需要,希望使用 usart 通過 dma 多次傳送資料,因為每次傳送資料的內容都不一樣,所以不能採用 dma 的迴圈模式,只能通過 dma 正常模式、usart 多次請求的方式來實現,下面附上 dma 的配置**

#define usart 				usart3	

#define dma_clk rcc_ahb1periph_dma1

#define dma_stream dma1_stream3

#define dma_channel dma_channel_4

#define buffer_size 12

/*注意:

*/uint8_t bufferdata[buffer_size] = ;

/* 配置 dma1_stream3 中斷*/

static void nvic_config(void)

/* 配置 dma1 */

void dma_config(void)

/* dma_stream 傳輸完成中斷服務函式 */

void dma1_stream3_irqhandler(void)

}/* 延時函式 */

void delay_ms(uint16_t time)

}/* main 函式 */

int main(void)

}

這樣只需要改變 bufferdata 的內容後再呼叫 usart_dmacmd(usart, usart_dmareq_tx, disable) 就能多次傳送資料了

STM32 STM32啟動方式

在復位時,會按照boot的狀態判斷進入哪種模式,boot腳不用保持長狀態。模式1 boot0拉低,使用使用者快閃儲存器區,這是最正常啟動的模式,即,在正常啟動時,boot0應該下拉為低電平 模式3 從sram執行,由於stm32的flash擦寫的次數是有限的,所以為了保護我們的flash,延長mcu...

STM32 STM32 GPIO模式理解

stm32的gpio的配置模式有好幾種,包括 模擬輸入 浮空輸入 上拉輸入 下拉輸入 開漏輸出 推挽輸出 復用開漏輸出 復用推挽輸出 如圖是gpio的結構原理圖 1.模擬輸入 從上圖我們可以看到,我覺得模擬輸入最重要的一點就是,他不經過輸入資料暫存器,所以我們無法通過讀取輸入資料暫存器來獲取模擬輸入...

STM32 STM32學習記錄3 按鍵輸入

1 io配置 上拉輸入模式 區別在於沒有輸入訊號的時候預設輸入高電平 因為 有弱上拉 下拉輸入模式 區別在於沒有輸入訊號的時候預設輸入低電平 因為有弱下拉 對於浮空輸入模式顧名思義也就 是輸入什麼訊號才是什麼訊號,對於浮空輸入要保證有明確的輸入訊號。2 stm32的gpio既可以設定為輸出也可以設定...