打印

0x7e作帧头的优势和意义何在?一直不解,谢谢。

[复制链接]
6722|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
汽车电子|  楼主 | 2011-10-21 09:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
看到有好多地方的通讯协议都是以0x7e为帧头,这样其它地方有0x7e就要作转义,要扫描所有的数据,效率这么低。
   一直搞不懂,这个有什么优势和意义 ??

   直接用2个字节或3个字节或4个字节,多字节帧头,其它数据和帧头一样的概率可认为是0了。

相关帖子

沙发
hotpower| | 2011-10-21 10:05 | 只看该作者
也不解

使用特权

评论回复
板凳
delin17| | 2011-10-21 10:33 | 只看该作者
码距大。
0x55和0xAA的码距就是8

使用特权

评论回复
地板
ayb_ice| | 2011-10-21 13:20 | 只看该作者
只是习惯而已
我看很多人喜欢用0x0d,0x0a作帧头,其实就是回车与换行的ASCII码,逻辑上比较合理

使用特权

评论回复
5
来与君| | 2011-10-21 13:35 | 只看该作者
不是每种协议都经过深思熟虑后制订出来的

使用特权

评论回复
6
程序匠人| | 2011-10-24 21:00 | 只看该作者
个人比较喜欢 5 和 A 的组合

使用特权

评论回复
7
highgear| | 2011-10-24 21:16 | 只看该作者
用 7e 是有历史原因的:
http://en.wikipedia.org/wiki/High-Level_Data_Link_Control

HDLC frames can be transmitted over synchronous or asynchronous links. Those links have no mechanism to mark the beginning or end of a frame, so the beginning and end of each frame has to be identified. This is done by using a frame delimiter, or flag, which is a unique sequence of bits that is guaranteed not to be seen inside a frame. This sequence is '01111110', or, in hexadecimal notation, 0x7E. Each frame begins and ends with a frame delimiter. A frame delimiter at the end of a frame may also mark the start of the next frame. A sequence of 7 or more consecutive 1-bits within a frame will cause the frame to be aborted.

使用特权

评论回复
评分
参与人数 1威望 +6 收起 理由
程序匠人 + 6
8
gogogobomb| | 2011-10-24 21:20 | 只看该作者
啊?这是什么。

使用特权

评论回复
9
NE5532| | 2011-10-24 21:21 | 只看该作者
要看应用场合,例如有线无线不同。

使用特权

评论回复
10
汽车电子|  楼主 | 2011-10-24 22:06 | 只看该作者
个人认为:有16进制的通讯,单字帧头,无任何优势
还是喜欢用多字节,效率更高,也方便做粘包处理

使用特权

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

本版积分规则

个人签名:车联网

366

主题

2057

帖子

5

粉丝