Мяу товарищи.Совсем запутался, наставьте на путь истеный.
Пытаюсь разобраться с протоколом обмена с устройством.
В описании сказано:
Каждый байт пакета ответа между стартовым байтом и ETX дополняется ком-плиментарным байтом (поразрядное инвертирование), а CheckSum вычисляется как ИСКЛЮ-ЧАЮЩЕЕ ИЛИ всех нормальных байт и одного ETX, без учета стартового байта, а также логическое ИЛИ с 0х40.
Формат пакета:
=============
DEL заполнитель
STX стартовый байт
СЕТЕВОЙ АДРЕС
КОМАНДА
ETX стоповые байты
ETX
CheckSum – контрольная сумма
=============
Например ...запрос:
7F 02 21 5E 31 4E 03 03 53
7f это заполнитель
0x02 стартовый байт
0x21 - это адрес устройства
5Е - тот самый комп.байт который я не могу вычислить.
0x31 - команда
4E - тот самый комп.байт который я не могу вычислить.
0x03 - ETX
0x03 - ETX
0x53 - контрольная сумма.CheckSum тоже не понимаю как её получить.
Подскажите как правильно это реализовать.
Пытаюсь разобраться с протоколом обмена с устройством.
В описании сказано:
Каждый байт пакета ответа между стартовым байтом и ETX дополняется ком-плиментарным байтом (поразрядное инвертирование), а CheckSum вычисляется как ИСКЛЮ-ЧАЮЩЕЕ ИЛИ всех нормальных байт и одного ETX, без учета стартового байта, а также логическое ИЛИ с 0х40.
Формат пакета:
=============
DEL заполнитель
STX стартовый байт
СЕТЕВОЙ АДРЕС
КОМАНДА
ETX стоповые байты
ETX
CheckSum – контрольная сумма
=============
Например ...запрос:
7F 02 21 5E 31 4E 03 03 53
7f это заполнитель
0x02 стартовый байт
0x21 - это адрес устройства
5Е - тот самый комп.байт который я не могу вычислить.
0x31 - команда
4E - тот самый комп.байт который я не могу вычислить.
0x03 - ETX
0x03 - ETX
0x53 - контрольная сумма.CheckSum тоже не понимаю как её получить.
Подскажите как правильно это реализовать.
