请教大神们:如下图,发送一条AT指令,但此时来了一条URC数据,URC接收一部分的时候,AT指令的响应也来了,造成了URC数据被打断,断行或者出错。这个情况应该如何处理呢?
查看更多
收到的这个 00 0D 0A 不对吧,怎么会收到 00 呢。这里有问题。还有,对方发数据不是队列发的? 确定 URC 被打断了,不是调试异步打印断开的?我觉得是串口输出是俩线程,输出 recvline 这句的线程优先级比较高,输出 NNMI 这个字符串的线程优先级比较低,低优先级线程在使用串口设备的时候被高优先级线程抢占了。
是系统和串口驱动的问题,感谢
欢迎发表与嵌入式相关的技术分享、开发技巧、工具介绍、技术设想、职业心得、行业评论等对他人有启发,排版优雅的文章
回到 顶部
发布 问题
分享 好友
手机 浏览
投诉 建议
回到 底部
如果接收URC数据的过程中(还没收完,也就是还没收到\r\n),收到了别的指令的\r\n,此时时怎么处理呢?
@Tristan_C
我反正觉得是对方先把之前的数据发完了再处理这个新的命令,然后返回新命令的响应数据。模块不会交叉输出数据。