波尔街道的松柏 发表于 2025-9-26 11:57

中断接收数据时,若主程序同时发送数据,可能因中断抢占 CPU 导致发送时序混乱。需确保:1. 数组操作加互斥保护;2. 发送时禁用接收中断或用缓冲区;3. 检查数组索引是否正确递增;4. 避免发送耗时过长阻塞接收。

我趴在云边 发表于 2025-10-17 15:06

串口发送数据顺序乱,核心是中断与主程序的数据访问冲突。中断接收时数据持续写入数组,若主程序未判断数据是否接收完整就直接读取发送,会导致 “边存边发”。此外,若未用标志位标记数据起始 / 结束,或数组下标操作在中断与主程序间未加保护,也会造成数据错位。
页: 1 [2]
查看完整版本: 用中断将接收的数据按顺序存放在数组中,但用串口将数据发送到电脑中时,顺序就乱了?