一、流程
1.串口的IO口初始化
2.串口参数初始化
3.串口发送函数
4.串口中断接收函数
二、详细解释和代码
1.串口的IO口初始化
使用的是GD32F405VG单片机,查数据手册可知,该单片机GPIOA口的PA9、PA10可复用为USART0的TXD和RXD,此处进行IO口初始化。
rcu_periph_clock_enable(RCU_GPIOA);//使能GPIOA的时钟
rcu_periph_clock_enable(RCU_USART0);//使能串口0的时钟
//PA9 TXD
gpio_mode_set(GPIOA, GPIO_MODE_AF, GPIO_PUPD_PULLUP, GPIO_PIN_9);//复用功能,上拉
gpio_output_options_set(GPIOA, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_9);//推挽输出,引脚频率50Mhz
//PA10 RXD
gpio_mode_set(GPIOA, GPIO_MODE_AF, GPIO_PUPD_PULLUP, GPIO_PIN_10);//复用功能,上拉
gpio_output_options_set(GPIOA, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_10);//推挽输出,引脚频率50Mhz
2.串口参数初始化
usart_deinit(USART0);//复位串口0
usart_baudrate_set