STM32F1xx Hal驱动程序-Uart接收它-Hal\u Uart\u错误\u FE

STM32F1xx Hal驱动程序-Uart接收它-Hal\u Uart\u错误\u FE,stm32,Stm32,我最近经常遇到HAL(帧错误)。我没有找到导致这个错误的原因。有人能给我解释一下我出现这个错误的原因吗?帧错误可能是由 错配比特率 线路上的噪音 在另一个端点已在传输时启动接收器 是的,这可能是3点。我使用2个字符的it模式,因为它用于终端输入。我使用半电子传递cb将第一个字符推入fifo,将第二个字符的传输端推入fifo,并再次激活it接收模式。当现在一次任务发送3个字符时,我得到了错误。对于可变长度,使用rx it模式是不现实的。但我不想使用轮询…是否有更好的解决方案可以通过it模式接收,

我最近经常遇到HAL(帧错误)。我没有找到导致这个错误的原因。有人能给我解释一下我出现这个错误的原因吗?

帧错误可能是由

  • 错配比特率
  • 线路上的噪音
  • 在另一个端点已在传输时启动接收器

是的,这可能是3点。我使用2个字符的it模式,因为它用于终端输入。我使用半电子传递cb将第一个字符推入fifo,将第二个字符的传输端推入fifo,并再次激活it接收模式。当现在一次任务发送3个字符时,我得到了错误。对于可变长度,使用rx it模式是不现实的。但我不想使用轮询…是否有更好的解决方案可以通过it模式接收,为接收到的每个字符获取中断,并自动推送到fifo/ringbuffer?是的,有。根本不使用HAL,只需在中断处理程序中读取
UART->SR
UART->DR