Clyde011 发表于 2025-8-11 07:34

多任务下串口错乱

RTOS里两个任务用同一串口发送,数据包内容会混在一起

Clyde011 发表于 2025-8-11 07:36

用状态机按顺序发数据

公羊子丹 发表于 2025-8-11 07:38

多个任务要加互斥锁

周半梅 发表于 2025-8-11 07:39

我用消息队列管理串口

帛灿灿 发表于 2025-8-11 07:40

DMA模式可以减少冲突

童雨竹 发表于 2025-8-11 07:41

会不会是缓冲区被覆盖

万图 发表于 2025-8-11 07:42

优先级高的任务要控制发送

Wordsworth 发表于 2025-8-11 07:43

每个任务单独缓冲区

Bblythe 发表于 2025-8-11 07:44

串口驱动改成线程安全的

Pulitzer 发表于 2025-8-11 07:45

输出格式要统一加结束符

Uriah 发表于 2025-8-11 07:45

检查下RTOS调度延迟

sfd123 发表于 2025-8-11 16:18

处理好任务优先级就好了

zerorobert 发表于 2025-8-11 21:43

若串口中断优先级设置不当,可能导致高优先级任务抢占串口资源,造成数据丢失或错乱。

youtome 发表于 2025-8-12 00:01

合理配置NVIC的优先级分组            

robincotton 发表于 2025-8-12 01:38

添加调试输出,定位数据错乱位置。

bartonalfred 发表于 2025-8-12 04:43

捕获串口波形,检查数据帧是否完整及时序是否正确

jackcat 发表于 2025-8-12 11:47

系统时钟配置错误或波特率计算不准确,可能导致数据采样偏移

minzisc 发表于 2025-8-12 12:23

合理规划任务与中断优先级。            

timfordlare 发表于 2025-8-12 13:10

用环形缓冲区暂存接收数据,由独立任务处理,避免ISR与任务直接竞争。

xiaoyaodz 发表于 2025-8-12 14:11

避免在多任务中使用HAL库的UART发送函数
页: [1] 2 3
查看完整版本: 多任务下串口错乱