Я общаюсь с машиной по серийному номеру. Часть спецификации протокола связи гласит, что контрольная сумма представляет собой «арифметическую сумму байтов от <'PS'> (в комплекте), от <'data'> до <'CS'>"
Пакетные сообщения структурированы следующим образом:
<'PS'> <'data'> <'CS'>, где:
<'PS'> - Размер пакета
Длина: 1
Значение: от 0x02 до 0x63
Максимальная длина пакета составляет 99 байтов
<'данные'> - Данные
Длина: 1 ... 90 байтов
Значение: 0x00 - 0xFF
Длина части данных зависит от команды.
<'CS'> - контрольная сумма
Длина - 1 байт
Значение: 0x00 - 0xFF
* +1034 * Пример: * * одна тысяча тридцать пять
ACK Пакет: 0x02 0x01 0x03 , где 0x03 - контрольная сумма.
Так как мне вычислить контрольную сумму для этих байтов в C ++?