注意点 1:波特率自动检测
【GD32E230C8】如果在配置串口时,设置了波特率自动检测功能。那么就可能会出现最后接收到数据出现乱码的现象。这是因为当接收到的数据以一个0或多个0开头时,会出现波特率检测失败,导致最后波特率的配置错误。
注意点 2:串口数据接收的开启与关闭
串口在某些场合需要使用半双工的模式,例如 LIN 通信,因此我们需要控制串口数据接收功能的开启与关闭。这时我们需要注意,当我们关闭串口接收功能时,我们要调用以下函数:
usart_receive_config(USART0, USART_RECEIVE_DISABLE); // USART接收器配置
而当我们需要重新开启接收时,我们不仅要使能接收,还需要使能中断,例如:
usart_receive_config (USART0, USART_RECEIVE_ENABLE); // USART接收器配置
usart_interrupt_enable(USART0, USART_INT_RBNE); // 使能USART中断, USART_INT_RBNE:读数据缓冲区非空中断和过载错误中断
usart_interrupt_enable(USART0, USART_INT_IDLE); // USART_INT_IDLE:IDLE线检测中断
usart_interrupt_enable(USART0, USART_INT_LBD);