写程序的时候,多个线程需要调用同一个串口的串口发送函数,这样写会造成数据交叉吗,比如A线程发送AA 01 02 FF,B线程发送AA 03 04 FF,B线程比A线程优先级高,会造成出现A线程数据还没发送完的时候,B线程开始发送,以至于造成AA 01 AA 03 04 FF 02 FF的情况吗。之前遇到过别人的程序出现过。
查看更多
不但会交叉还会出现乱码(前一个还没从移位寄存器里移走,后来的就会冲走前面的),所以要做互斥的。
会的,需要做互斥操作,保证每一个线程最小发送数据单位
乱码一般还是不会的,data register和shift register是分开的,shift register一般不可见。
欢迎发表与嵌入式相关的技术分享、开发技巧、工具介绍、技术设想、职业心得、行业评论等对他人有启发,排版优雅的文章
回到 顶部
发布 问题
分享 好友
手机 浏览
投诉 建议
回到 底部
你是用某MCU中毒了,哪有那么多影子寄存器。