STM32
直播中

王尚岱

8年用户 1527经验值
擅长:电源/新能源
私信 关注
[问答]

关于STM32串口接收中断的疑问求解

外部大约间隔1s左右传输一帧数据过来,正常情况下是一帧5个字节.如果采用接收中断的方式接收数据HAL_UART_Receive_IT( huart1, (uint8_t *) Uart1_Rxdata, 5);      假如数据正常传输过程种,中间突然出现了一帧数据为4个字节,那处理器会丢掉这一帧数据吗?  还是将这一帧4个字节 + 下一帧的第一个字节 组成5个字节的数据,产生接收中断?

再假如数据正常传输过程种,中间突然出现了一帧数据为6个字节,那处理器会丢掉这一帧数据吗?  还是将这一帧数据的前5个字节一起产生接收中断,剩下一个字节丢弃?

回帖(1)

马昱

2024-4-2 15:12:58
如果丢失一个,会把后面的数据连接起来。楼主可以考虑使用空闲中断或者中断队列的方式,将所有接收到的数据放入到缓冲区中,保证数据的完整性。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分