串口问题几个疑问

2019-03-25 10:48发布

1。异步串行通信中前一个字节的停止位和后一个字节的起始位之间一般要留多长时间的间隔,不留行不行?
2。怎样避免校验字节和帧头相同?
3。半双工通信中(如RS485)如何协调双方的收发,即如何确保一方发的时候另一方一定为收,会不会出现双方同时发送的情况? 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
eeworldupk
1楼-- · 2019-03-25 11:54
< / 1、好像是4个字节的时间就可以了。
2、为了避免这个问题,我在使用的时候是要求通信的数据尽量要短,采用重复发送的方式校验。
3、通信是只能有一个主机,主机发送从机应答;多主机的方式在485通信中似乎是很难实现的,也许有高手可以解决,但是我还不知道如何解决。
仙猫
2楼-- · 2019-03-25 13:35
 精彩回答 2  元偷偷看……
chinatiger11
3楼-- · 2019-03-25 18:03

同意三楼的说法。

停止位发送完成后可以直接发送起始位,中间无需时间间隔。

 

zhouning201
4楼-- · 2019-03-25 20:10
1:不用管
2:如果说帧起始字节是0xff,那么再你的校验值里面与0x7f相与。就可以区别开了。
3:可以用无主机模式,各个485模块主动探测总线是否为忙。探测机制用定时器。

一周热门 更多>