概述
本章主要配置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文章
97瀏覽量
15193 -
Printf
+關注
關注
0文章
84瀏覽量
14086 -
gd32f303
+關注
關注
4文章
38瀏覽量
3897
發布評論請先 登錄
相關推薦
熱點推薦
STM32/GD32開發板基本串口RS232\\RS485通信及CAN接口 usbhid升級 U盤升級 sd卡升級升級學習方案開發板
STM32F103/STM32F407/gd32F103/GD32F303開發板,例程用標準庫
發表于 02-27 14:56
GD-LINK無法在KEIL上調試怎么解決?
:startup_stm32f10x_hd.s。
驅動:st的標準庫驅動,如stm32f10x_gpio.c。
KEIL配置:芯片型號GD32F30
發表于 02-27 08:24
【GD32 MCU 移植教程】7、從 GD32F10x 移植到 GD32E103
本應用筆記旨在幫助您快速將基于 GD32F10x 2.0 版本及以上固件庫開發的應用程序從GD32F10x 系列微控制器移植到

【GD32 MCU 移植教程】2、從 GD32F303 移植到 GD32F503
GD32E503 系列是 GD 推出的 Cortex_M33 系列產品,該系列資源上與 GD32F303 兼容度非常高,本應用筆記旨在幫助您快速將應用程序從 GD32F303 系列微控

Klipper固件的打印機可以插卡打印嗎?
的3D打印機固件,它允許用戶通過編寫腳本來自定義和優化他們的3D打印機。Klipper固件的主要特點包括: 支持多種類型的打印機和硬件
GD32F303無法進入低功耗模式的原因?怎么解決?
) {
pmu_wakeup_pin_enable();
pmu_to_standbymode(WFI_CMD);
}
直接執行GD32的庫函數進入低功耗模式,會失敗,形式為按下喚醒鍵后不會重啟,會繼續執行
發表于 07-09 06:29
【GD32F303紅楓派開發板使用手冊】第二十七講 USB-虛擬鍵盤實驗
,傳輸速度也很快,這些特性使支持USB接口的電子設備更易用、更大眾化。GD32F303系列MCU集成了USB2.0全速設備USBD模塊,可以滿足作為USB設備與主機

【GD32F303紅楓派開發板使用手冊】第二十講 SPI-SPI NAND FLASH讀寫實驗
通過本實驗主要學習以下內容:
?SPI通信協議,參考19.2.1東方紅開發板使用手冊
?GD32F303 SPI操作方式,參考19.2.2東方紅開發板使用手冊
?NAND FLASH基本原理
?SPI NAND介紹
?使用

【GD32F303紅楓派開發板使用手冊】第十六講 USART-DMA串口收發實驗
在前面ADC章節中,我們介紹了DMA的工作原理,這里就不多做介紹。從GD32F303用戶手冊中可以查到,各串口的TX和RX分別對應DMA的不同通道,比如USART0的TX對應DMA0的通道3,而RX對應DMA0的通道4。

評論