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, USART_CTS_DISABLE)

本文详细记录了GD32E230C8T6微控制器在串口通信方面的开发过程,涵盖了硬件设计,包括USART0和USART1接口的管脚分配;软件设计部分介绍了USART函数的编写以及主函数的应用;在调试效果中展示了硬件接口的实际布置和软件输出情况;最后提供了完整的双串口输出源代码。

1868

被折叠的 条评论
为什么被折叠?



