Home > front end >  Synchronous baud rate (RFC2217) encode/decode
Synchronous baud rate (RFC2217) encode/decode

Time:02-22

I'm trying to implement RFC2217 in my code but I can't understand how the last parity bit (46H and 28H) is generated.

I'm using RS485 to Ethernet device.

What will be the code, if I'm using 2400,E,8,1?

Is it: 55 AA 55 09 60 1B XX?

  • Is 1B right?
  • What will be XX?

User manual: page 42 in https://www.sarcitalia.it/file_upload/prodotti//USR-N520-Manual-EN-V1.0.4.pdf

Synchronous baud rate (RFC2217) picture SS

CodePudding user response:

  1. In the field for the baud rate you missed the MSByte. This field shall be 00 09 60.

  2. Yes, 1B for "E,8,1" is correct. BTW, the table lists 2 bits for the 1-bit fields of "stop bit" and "parity enable", which is quite irritating.

  3. The field "parity" is actually just a sum, without the header and the MSBit cleared. (I don't grasp the text of the explanation, but the document seems to be low quality anyway.)

    01 C2 00 03: 0x01 0xC2 0x00 0x03 = 0xC6; without bit 7 = 0x46.

    00 25 80 03: 0x00 0x25 0x80 0x03 = 0xA8; without bit 7 = 0x28.

    Your telegram 00 09 60 1B: 0x00 0x09 0x60 0x1B = 0x84; without bit 7 = 0x04. So XX is 04.

  • Related