justdying 发表于 2023-3-23 17:59:50

多任务下,串口发送的冲突问题

在ucos系统下,假如有多个task

task1
{
   串口发送数据“task1”
delay(10)
}


task2
{
   串口发送数据“task2”
delay(10)
}



task3
{
   串口发送数据“task3”
delay(10)
}


由于抢占问题,串口发送的数据可能发生错乱,粘包的现象
问:
有什么比较好的办法实现多线程下的数据发送吗,同时避免数据发送的粘包?

glory 发表于 2023-3-23 20:29:58

整个串口发送函数用互斥量保护;或者把要发送的数据丢给专用队列,另一个专用线程从队列里去数据发送。
页: [1]
查看完整版本: 多任务下,串口发送的冲突问题