ok. lets go further
my next step is to understand RS485 protocol.
dataframe structure package as below:
PACKAGE:
--------
START_BYTE 0x96
ADDRESS
DATALEN
[DATA1]
[DATA2]
[DATA3]
CRC
STOP_BYTE 0xA9
*************************
DATALEN bits
------------
bit7 = 1 MASTER SENDS
0 SLAVE SENDS
bit6 = 1 ADDRESS WAS XORed with 1, IT WAS EQUAL TO _START_BYTE or _STOP_BYTE
= 0 ADDRESS UNCHANGED
bit5 = 0 FIXED
bit4 = 1 DATA3 (if exists) WAS XORed with 1, IT WAS EQUAL TO _START_BYTE or _STOP_BYTE
= 0 DATA3 (if exists) UNCHANGED
bit3 = 1 DATA2 (if exists) WAS XORed with 1, IT WAS EQUAL TO _START_BYTE or _STOP_BYTE
= 0 DATA2 (if exists) UNCHANGED
bit2 = 1 DATA1 (if exists) WAS XORed with 1, IT WAS EQUAL TO _START_BYTE or _STOP_BYTE
= 0 DATA1 (if exists) UNCHANGED
bit1bit0 = 0 to 3 NUMBER OF DATA BYTES SEND
Q1: any guide for "XOR-ed with 1" ; how to XOR 1 byte with 1 in delphi ?
Q2: how to cal. CRC in 8bit in this dataframe ?