[其他产品] 用中断将接收的数据按顺序存放在数组中,但用串口将数据发送到电脑中时,顺序就乱了?

[复制链接]
2415|21
波尔街道的松柏 发表于 2025-9-26 11:57 | 显示全部楼层
中断接收数据时,若主程序同时发送数据,可能因中断抢占 CPU 导致发送时序混乱。需确保:1. 数组操作加互斥保护;2. 发送时禁用接收中断或用缓冲区;3. 检查数组索引是否正确递增;4. 避免发送耗时过长阻塞接收。
我趴在云边 发表于 2025-10-17 15:06 | 显示全部楼层
串口发送数据顺序乱,核心是中断与主程序的数据访问冲突。中断接收时数据持续写入数组,若主程序未判断数据是否接收完整就直接读取发送,会导致 “边存边发”。此外,若未用标志位标记数据起始 / 结束,或数组下标操作在中断与主程序间未加保护,也会造成数据错位。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部