打印
[应用相关]

串口接收,一般会设置等待超时么?

[复制链接]
4670|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
redone|  楼主 | 2021-9-11 11:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
就是设定一个时间,如果还没接收完数据,
那么也不再接收了,判定数据无效,重新准备下一次。

这个超时时间,需要设定么?具体的时长如何决定?

使用特权

评论回复
沙发
zchong| | 2021-9-11 16:34 | 只看该作者
具体看应用,没有统一做法。我一把是按照数据帧来,不管是否超时,有数据就解析,帧头、长度、校验、帧尾等特征字段都正确认为收到了一帧,然后进行相应的处理。

使用特权

评论回复
板凳
小叶三千| | 2021-9-11 16:43 | 只看该作者
不用设置,不过串口接收协议的话可以设置啊,你需求有时间要求就要设置

使用特权

评论回复
地板
redone|  楼主 | 2021-9-17 10:46 | 只看该作者
zchong 发表于 2021-9-11 16:34
具体看应用,没有统一做法。我一把是按照数据帧来,不管是否超时,有数据就解析,帧头、长度、校验、帧尾等 ...

我常规也是这样做,

一般没有什么问题,就是总觉得差点什么

使用特权

评论回复
5
match007| | 2021-9-23 10:32 | 只看该作者
我们会加等待,但一般时间感觉设置的比较长,作用也不大,习惯性而已

使用特权

评论回复
6
diweo| | 2021-9-23 10:53 | 只看该作者
用IDLE中断就足够了

使用特权

评论回复
7
cyclefly| | 2021-9-23 17:42 | 只看该作者
看到别人,或者教程里有加超时的,
一直没搞懂为什么

使用特权

评论回复
8
qcliu| | 2021-10-5 18:40 | 只看该作者
一般来说都会设置的

使用特权

评论回复
9
caigang13| | 2021-10-5 18:49 | 只看该作者
这个意义不大

使用特权

评论回复
10
coshi| | 2021-10-5 20:19 | 只看该作者
我感觉有必要设置一下

使用特权

评论回复
11
NJZR| | 2021-10-6 15:29 | 只看该作者
看你的需求,如果可以承受连续若干次通讯失败再恢复就不用加,因为下次正确的帧头到来时你会把它当数据,几次能恢复正常有一定的随机性,这与你的通讯协议和数据内容相关。而选择一个合理的超时时间可以确保出错了以后不影响下一个通讯的传输,当然这也与你的通讯协议相关,假如几乎处于连续通讯状态,什么超时也没用,必须要从协议上想办法如何恢复链路层、甚至是物理层的同步。
又想了想,这事说不清,假如你能确保正常情况下帧头标志在随后的数据中不会出现那也不用加延时,只要在数据中发现帧头了就代表通讯出错了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

132

主题

742

帖子

5

粉丝