RS-485 Basic Question

To receive data from REC Battery Management System (ABMS), i need to send a specific query from Arduino, over rs-485.

The structure of the required message is:
STX, DA, SA, N, INSTRUCTION- 4 bytes, 16-bit CRC, ETX, where:

  •  STX start transmission <0x55> (always)
  •  DA - destination address <0x02>
  •  SA - sender address <0x00> (always 0)
  •  N – number of sent bytes
  •  INSTRUCTION - "LCD1"
  •  16-bit CRC - big endian, for the whole message except STX in ETX -
  •  ETX - end transmission <0xAA> (always)

The manufacturer says that the proper query is:
<0x55><0x02><0x00><0x05><0x4C><0x43><0x44><0x31><0x3F><0x53><0x90><0xAA>.

I am using the Max485 to connect Arduino to RS-485.

Can I use Serial.println() to send that message via max485?

no, you need Serial.write()

Serial.write(0x55);
Serial.write(0x02);
Serial.write(0x00);
...
1 Like

This code can be changed to:
Serial.write("\x55\x02\x00", 3);

thanks

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.