GD32F303固件庫開發(fā)(8)----USART收發(fā)配置
概述
本章主要配置printf進(jìn)行打印。 查閱手冊(cè)可以得知,PA9、PA10為串口0的輸出和輸入口。
需要樣片的可以加Qun申請(qǐng):615061293。?

視頻教學(xué)
https://www.bilibili.com/video/BV1ja411j76K/

樣品申請(qǐng)
https://www.wjx.top/vm/wFGhGPF.aspx#
csdn課程
課程更加詳細(xì)。?https://download.csdn.net/course/detail/37144
硬件準(zhǔn)備
這里準(zhǔn)備了1塊開發(fā)板進(jìn)行驗(yàn)證,分別是GD32303C_START開發(fā)板。?

keil配置
microlib 進(jìn)行了高度優(yōu)化以使代碼變得很小。 它的功能比缺省 C 庫少,并且根本不具備某些 ISO C 特性。 某些庫函數(shù)的運(yùn)行速度也比較慢,如果要使用printf(),必須開啟。?

串口初始化
對(duì)串口進(jìn)行配置。 使用串口時(shí)候,需要對(duì)GPIO進(jìn)行復(fù)用這里把串口的 Tx 引腳配置為復(fù)用推挽輸出,Rx 引腳為浮空輸入。 設(shè)置USART0 通信參數(shù)為:波特率 115200,字長為 8,1 個(gè)停止位,沒有校驗(yàn)位,收發(fā)一體工作模式,然后調(diào)用 USART 初始化函數(shù)完成配置。
串口重定向
串口重定向后就可以使用printf進(jìn)行打印。
usart_data_transmit()發(fā)送
usart_data_transmit()是USART發(fā)送數(shù)據(jù)函數(shù)。 定義發(fā)送函數(shù)。
在主程序中添加代碼,打印HELLO!
測(cè)試結(jié)果

中斷發(fā)送
若要使用串口的中斷函數(shù)USART0_IRQHandler(),需要先開啟串口中斷。?

?對(duì)于中斷發(fā)送,需要usart_interrupt_enable()開啟發(fā)送緩沖區(qū)空中斷。 搶占優(yōu)先級(jí),數(shù)字越小,優(yōu)先級(jí)越高。 若搶占優(yōu)先級(jí)相同,判斷子優(yōu)先級(jí),同樣,數(shù)字越小,優(yōu)先級(jí)越高。
定義發(fā)送變量。
串口中斷定義。
測(cè)試結(jié)果

最后
以上的代碼會(huì)在Q_qun里分享。Q_qun:615061293。 或者關(guān)注『記帖』,持續(xù)更新文章和學(xué)習(xí)資料!?

中斷接收
若要使用串口的中斷函數(shù)USART0_IRQHandler(),需要先開啟串口中斷。

?對(duì)于中斷接收,需要usart_interrupt_enable()開啟接收中斷。 搶占優(yōu)先級(jí),數(shù)字越小,優(yōu)先級(jí)越高。 若搶占優(yōu)先級(jí)相同,判斷子優(yōu)先級(jí),同樣,數(shù)字越小,優(yōu)先級(jí)越高。
定義發(fā)送變量。
串口中斷定義。
測(cè)試結(jié)果
