1. 串口数据丢失问题
问题描述
先看原程序,下面这段代码是串口中断发生之后执行的方法。在STM32上,串口每收到一个字节的数据就会触发一次中断,中断触发后,HAL库自动帮我们把接收缓冲区的数据复制到了aRxBuffer[0]当中。
程序当中首先新建了一个接收缓冲区USART_RX_BUF和flag USART_RX_STA。
当缓冲区的数据到达指定长度并且是以0XFF开头时,则USART_RX_STA最高位置1,此时消费者需要处理数据。
当消费者处理完成数据后,USART_RX_STA最高位置0,此时生产者可以继续接收串口数据。
...About 2 min