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

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

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

串口初始化
對串口進行配置。
/* 使能GPIOB時鐘*/
rcu_periph_clock_enable(RCU_GPIOA);
/*設(shè)置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)為復(fù)用推挽輸出*/
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);//設(shè)置串口USART0波特率為115200
usart_receive_config(USART0, USART_RECEIVE_ENABLE);//啟用USART0接收
usart_transmit_config(USART0, USART_TRANSMIT_ENABLE);//啟用USART0發(fā)送
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);
}
測試結(jié)果

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