1.硬件设计
GD32E230C8T6最大可支持2路USART接口,分别如下:
USART0:PA9,PA10,PA11,PA12;
USART1:PA0,PA1,PA2,PA3;
在开发调试过程中,一般不用流控,因此在实际调试中并没调试。
2.软件设计
USART函数编写
void USART0_Init(void)
{
rcu_periph_clock_enable(RCU_GPIOA); //使能GPIOA时钟
rcu_periph_clock_enable(RCU_USART0); //使能USART0时钟
//Usart0 TX GPIOA_9
gpio_mode_set(GPIOA, GPIO_MODE_AF, GPIO_PUPD_PULLUP, GPIO_PIN_9);
gpio_output_options_set(GPIOA, GPIO_OTYPE_PP, GPIO_OSPEED_10MHZ, GPIO_PIN_9);
gpio_af_set(GPIOA, GPIO_AF_1, GPIO_PIN_9);
//Usart0 RX GPIOA_10
gpio_mode_set(GPIOA, GPIO_MODE_AF, GPIO_PUPD_PULLUP, GPIO_PIN_10);
gpio_output_options_set(GPIOA, GPIO_OTYPE_PP, GPIO_OSPEED_10MHZ, GPIO_PIN_10);
gpio_af_set(GPIOA, GPIO_AF_1, GPIO_PIN_10);
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);//RTS流控关闭
usart_hardware_flow_cts_config(USART0, USAR