代码:
#include "gd32vf103.h"
#include "systick.h"
#include <stdio.h>
//串口0初始化
void UART0_Init(void)
{
rcu_periph_clock_enable(RCU_GPIOA);//使能GPIOA时钟
rcu_periph_clock_enable(RCU_USART0);//使能USART0时钟
gpio_init(GPIOA, GPIO_MODE_AF_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_9);//PA9复用USART0_TX--复用推挽输出
usart_deinit(USART0);//重置USART0
usart_baudrate_set(USART0, 115200U);//波特率115200
usart_word_length_set(USART0, USART_WL_8BIT);//8位数据位
usart_stop_bit_set(USART0, USART_STB_1BIT);//1位停止位
usart_parity_config(USART0, USART_PM_NONE);//无奇偶校验位
usart_hardware_flow_rts_config(USART0, USART_RTS_DISABLE);//失能硬件流控制
usart_hardware_flow_cts_config(USART0, USART_CTS_DISABLE);//失能硬件流控制
usart_transmit_config(USART0, USART_TRANSMIT_ENABLE);//使能USART0发送,
usart_enable(USART0);//使能USART0
}
void USART0_Send_Byte(int send_data)
{
usart_data_transmit(USART0, send_data);
while ( usart_flag_get(USART0, USART_FLAG_TBE)== RESET){};//等待发送完成
}
int main(void)
{
UART0_Init();
while(1)
{
USART0_Send_Byte(0X52);
}
}
引脚图:
串口配置的库函数:gd32vf103_usart.c
打开串口调试助手,配置串口参数,即可验证代码。
我目前只上传了串口发送代码,串口接收代码在显示屏实验使用。