概述
本章主要配置printf進行打印。 查閱手冊可以得知,PA9、PA10為串口0的輸出和輸入口。需要GD樣片的可以加群申請:615061293。

樣品申請
https://www.wjx.top/vm/wFGhGPF.aspx#
硬件準備
這里準備了2塊開發板進行驗證,分別是GD32303C_START開發板。

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

串口初始化
對串口進行配置。
/* 使能GPIOB時鐘*/
rcu_periph_clock_enable(RCU_GPIOA);
/*設置PA0為浮空輸入 */
gpio_init(GPIOA, GPIO_MODE_IN_FLOATING, GPIO_OSPEED_50MHZ, GPIO_PIN_0);
/* 使能GPI0A,用PA9、PA10為串口 */
rcu_periph_clock_enable(RCU_GPIOA);
/*使能串口0的時鐘 */
rcu_periph_clock_enable(RCU_USART0);
/*配置USARTx_Tx(PA9)為復用推挽輸出*/
gpio_init(GPIOA, GPIO_MODE_AF_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_9);
/*配置USARTx_RxPA9)為浮空輸入 */
gpio_init(GPIOA, GPIO_MODE_IN_FLOATING, GPIO_OSPEED_50MHZ, GPIO_PIN_10);
/* USART 配置 */
usart_deinit(USART0);//初始化USART0
usart_baudrate_set(USART0, 115200U);//設置串口USART0波特率為115200
usart_receive_config(USART0, USART_RECEIVE_ENABLE);//啟用USART0接收
usart_transmit_config(USART0, USART_TRANSMIT_ENABLE);//啟用USART0發送
usart_enable(USART0);//使能USART0
串口重定向
/* retarget the C library printf function to the USART */
int fputc(int ch, FILE *f)
{
usart_data_transmit(USART0, (uint8_t)ch);
while(RESET == usart_flag_get(USART0, USART_FLAG_TBE));
return ch;
}
打印測試
while(1){
printf("串口0打印!");
delay_1ms(1000);
}
測試結果

審核編輯 黃昊宇
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
固件庫
+關注
關注
2文章
98瀏覽量
15616 -
Printf
+關注
關注
0文章
84瀏覽量
14734 -
gd32f303
+關注
關注
4文章
38瀏覽量
4211
發布評論請先 登錄
相關推薦
熱點推薦
基于RT-Thread與兆易創新GD32F527的工業級網絡-CAN透傳網關設計與實現 | 技術集結
目錄系統概述RT-Thread使用情況硬件框架軟件架構軟件模塊詳解功能展示鏈接地址1系統概述本系統是一個基于GD32F527I_EVAL和RT-Thread實時操作系統開發的工業級網絡-CAN總線透
求助,關于C代碼中的printf打印的疑問求解
在使用E203 testbench執行附帶的benchmark測試用例時候,得到如下打印信息:
CPU驗證小白一枚,有個問題不是很理解:黃色框框內的字符看起來應該是C代碼中的printf語句
發表于 11-10 07:54
使用VScode的PIO開發GD32VF103,但是串口無法打印浮點數怎么解決?
我最近在使用VScode的PIO開發GD32V,使用的是longan的模板,但是我將串口輸出重定義到printf函數中,發現無法使用%f輸出浮點數,想問問應該怎么
發表于 11-06 06:49
兆易創新GD32F5xx與GD32G5xx STL軟件測試庫獲頒IEC61508功能安全認證
業界領先的半導體器件供應商 兆易創新GigaDevice 宣布,其GD32F5xx與GD32G5xx系列MCU配套的STL(Software Test Library)軟件測試庫獲得德國萊茵TüV
MCU無法檢測到W5500是怎么回事?
在兆易創新 GD32F303,國民技術 N32G457和ST STM32F103上試用了W5500以太網模塊(RT-Thread版本是rt-thread-4.1.1),
只有STM32F103上可以
發表于 10-14 07:38
backtrace命令無法使用?為什么?
GD32F303,之前一直用nano,最近使用5.2.0標準版,工程使用最新版本bsp中的,直接下載,發現有backtrace命令,根據提示使用,一直提示無效輸入?是M核不支持嗎?還是我哪里沒有開啟,雖然暫時沒用到,還是想多了解一下?
發表于 09-22 08:13
GD32F103RCT6 rt_kprintf無法打印怎么解決?
使用的芯片為GD32F103RCT6,文件夾board路徑里有一個不使用rt操作系統的串口打印配置,映射到printf,使用這個代碼配置的
發表于 09-19 07:42
GD32F103RCT6移植qboot,燒錄之后系統卡死怎么解決?
如題,我使用的是stm32的hal庫對STM32F103RCT6芯片進行配置的代碼燒錄到GD32F103RCT6中,串口和PWM都調試成功,沒有問題,所以開始移植qboot。使用env
發表于 09-19 06:41
GD32的串口DMA收發數據失敗怎么解決?
我在使用RTT的GD32F303的BSP時,配置使用串口DMA收發(rt_device_open),發現錯誤,最終無法收發數據,對比了STM32的BSP發現在drv_usart.c中
發表于 09-17 06:04
GD32F437開發板添加lwip支持后ping不通電腦怎么解決?
使用GD32F437的開發板,在studio中添加lwip的支持后,將開板板設置和電腦相同的網段,并用網線連接開發板和電腦,開發板啟動后ping不通電腦,如下:
發表于 09-09 07:43
高新興瑞聯推出新款LTE Cat.1高性能OBD產品GD303
2025年8月,高新興瑞聯新款LTE Cat.1高性能OBD產品——GD303正式上市!憑借卓越的性能、豐富的功能和廣泛的應用場景適用性和易用性,GD303將豐富高新興瑞聯的OBD Tracker產品家族,滿足更多客戶在數字化車隊管理中的核心需求。
PRINTF函數無法打印出浮點數內容是為什么?
1、MCXN947低功耗adc,歷程中使用官方提供的PRINTF無法打印出浮點數內容。
2、同樣在mcuxpresso ide 也不可以打印浮點數,這是為什么呢?
3、使用的歷程是lpadc歷程。
發表于 03-20 08:06
GD32F303固件庫開發(7)----printf打印配置
評論