同步波特率 (RFC2217) encode/decode
Synchronous baud rate (RFC2217) encode/decode
我正在尝试在我的代码中实现 RFC2217,但我不明白最后一个奇偶校验位(46H 和 28H)是如何生成的。
我正在使用 RS485 连接以太网设备。
如果我使用 2400,E,8,1,密码是什么?
是:55 AA 55 09 60 1B XX
?
1B
对吗?
XX
会是什么?
用户手册:第 42 页 https://www.sarcitalia.it/file_upload/prodotti//USR-N520-Manual-EN-V1.0.4.pdf
在波特率字段中您错过了 MSByte。该字段应为 00 09 60
.
是的,“E,8,1”的 1B
是正确的。顺便说一句,table 为“停止位”和“奇偶校验启用”的 1 位字段列出了 2 位,这很烦人。
parity字段其实只是一个求和,没有header和MSBit清零。 (解释的文字我没看懂,反正文档好像质量不高)
01 C2 00 03
:0x01 + 0xC2 + 0x00 + 0x03 = 0xC6;没有位 7 = 0x46.
00 25 80 03
:0x00 + 0x25 + 0x80 + 0x03 = 0xA8;没有位 7 = 0x28.
你的电报00 09 60 1B
:0x00 + 0x09 + 0x60 + 0x1B = 0x84;没有位 7 = 0x04。所以 XX
是 04
.
我正在尝试在我的代码中实现 RFC2217,但我不明白最后一个奇偶校验位(46H 和 28H)是如何生成的。
我正在使用 RS485 连接以太网设备。
如果我使用 2400,E,8,1,密码是什么?
是:55 AA 55 09 60 1B XX
?
1B
对吗?XX
会是什么?
用户手册:第 42 页 https://www.sarcitalia.it/file_upload/prodotti//USR-N520-Manual-EN-V1.0.4.pdf
在波特率字段中您错过了 MSByte。该字段应为
00 09 60
.是的,“E,8,1”的
1B
是正确的。顺便说一句,table 为“停止位”和“奇偶校验启用”的 1 位字段列出了 2 位,这很烦人。parity字段其实只是一个求和,没有header和MSBit清零。 (解释的文字我没看懂,反正文档好像质量不高)
01 C2 00 03
:0x01 + 0xC2 + 0x00 + 0x03 = 0xC6;没有位 7 = 0x46.00 25 80 03
:0x00 + 0x25 + 0x80 + 0x03 = 0xA8;没有位 7 = 0x28.你的电报
00 09 60 1B
:0x00 + 0x09 + 0x60 + 0x1B = 0x84;没有位 7 = 0x04。所以XX
是04
.