USART配置步骤
启用USART时钟在使用USART之前,我们需要启用USART的时钟。GD32E230使用rcu_periph_clock_enable()函数来启用USART模块的时钟。
c
// 启用USART1时钟
rcu_periph_clock_enable(RCU_USART1);
配置GPIO引脚
USART需要将数据通过GPIO引脚发送和接收。在GD32E230中,GPIO引脚可以配置为复用功能模式,用于USART的TX(发送)和RX(接收)功能。
假设我们使用PA9作为USART1的TX(发送)引脚,PA10作为RX(接收)引脚。
c
// 启用GPIOA时钟
rcu_periph_clock_enable(RCU_GPIOA);
// 配置PA9为USART1的TX(复用推挽输出模式)
gpio_init(GPIOA, GPIO_MODE_AF_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_9);
// 配置PA10为USART1的RX(浮空输入模式)
gpio_init(GPIOA, GPIO_MODE_IN_FLOATING, GPIO_OSPEED_50MHZ, GPIO_PIN_10);
2.3 配置USART参数
通过usart_deinit()函数先将USART模块复位,再使用usart_init()函数配置USART的波特率、数据位、停止位等。
波特率:决定数据传输的速率(如9600、115200等)。
数据位:常见配置为8位或9位。
停止位:可以选择1位或2位停止位。
校验位:通常为无校验、偶校验或奇校验。
c
// 配置USART1
usart_deinit(USART1);// 复位USART1
usart_init(USART1, 9600, USART_WL_8BIT, USART_STB_1BIT, USART_PERR_NOPARITY);// 配置波特率为9600,数据位8,停止位1,无校验
启用USART模块
配置完USART参数后,我们需要使能USART模块,并使能接收和发送。
c
// 启用USART1接收和发送功能
usart_enable(USART1);
配置USART中断(可选)
如果需要通过中断来处理串口数据,可以使能USART中断并配置中断优先级。
c
// 启用USART1接收中断
usart_interrupt_enable(USART1, USART_INT_RBNE);// 启用接收数据中断
// 配置中断优先级
nvic_irq_priority_set(USART1_IRQn, 0, 0);
nvic_irq_enable(USART1_IRQn);
页:
[1]