如何定义rs232串口的通信协议

发布网友 发布时间:2022-04-20 02:02

我来回答

1个回答

热心网友 时间:2023-07-15 08:57

协议一般要包含:起始符、、数据、校验码、结束符,5个部分的定义。
其中
起始符、结束符,不能与其他数据重码。
如只要传输字母与数字,可以看下ASCII码表,使用非数字和字母的符号做起始结束符即可,如{};
数据长度码即表示此串数据包的数据长度,如果传输的数据串长度固定可省去;
校验码相当于对此串数据正确性的校验,和奇偶校验效果类似,一般是和校验,即将数据全部累加得到一个和值当校验码,接收方收到数据也做一样的运算与收到的检验码比较,相等就说明正确接收。
如要发{12345670
}
换成16进制即:7B
10
31
32
33
34
35
36
37
38
39
30
25
7D;31~30是数据,
7B,7D分别为起始和结束符,10为数据长度的BCD码,25是校验码,是31~30的和模100后的BCD码,转成BCD码是为了避免与
起始和结束符重码。
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com