(1) GD32E103串口有多个,以下使用USART0实现串口打印功能
(2) 串口打印功能主要实现步骤如下:
#include "gd32e10x.h"
#include <stdio.h>
int main(void)
{
rcu_periph_clock_enable(RCU_GPIOA); 使能串口引脚时钟
rcu_periph_clock_enable(RCU_USART0); 使能串口0时钟
gpio_init(GPIOA, GPIO_MODE_AF_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_9); 初始化串口发送引脚
/* connect port to USARTx_Rx */
gpio_init(GPIOA, GPIO_MODE_IN_FLOATING, GPIO_OSPEED_50MHZ, GPIO_PIN_10); 初始化串口接收引脚
/* USART configure */
usart_deinit(USART0);
usart_baudrate_set(USART0, 115200U); 串口波特率设置
usart_receive_config(USART0, USART_RECEIVE_ENABLE); 串口接收配置
usart_transmit_config(USART0, USART_TRANSMIT_ENABLE); 串口发送配置
usart_enable(USART0); 串口使能
printf("a usart transmit test example!"); 串口打印
while(1);
}
/* 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;
}
|