Перевод сообщений с устройства на LIS через ASCII с использованием контрольных сумм - PullRequest
0 голосов
/ 14 марта 2019

Мне нужна помощь, пожалуйста. Я пытаюсь связаться с устройством через TCP / IP, используя ASCII. Протокол включает контрольную сумму, состоящую из двух символов ASCII, представляющих шестнадцатеричное число из двух символов в диапазоне от 00 до FF.

Я знаю, что шестнадцатеричное число генерируется путем выполнения суммирования по модулю 256 всех предыдущих символов в кадре (т. Е. Более <STX> … <ETX> включительно) и последующего выражения результирующего 8-разрядного целого числа без знака в шестнадцатеричном формате .

Например, я знаю, что эта контрольная сумма равна 84, но как она рассчитывается? <STX>ID_DATA<FS><RS>aMOD<GS>LIS<GS><GS><GS><FS>iIID<GS>333<GS><GS><GS><FS><RS><ETX>84<EOT>

И при этом, какова будет контрольная сумма для этого? <STX>SMP_REQ<FS><RS>aMOD<GS>LIS<GS><GS><GS><FS>iIID<GS>42731<GS><GS><GS><FS>rSEQ<GS>16<GS><GS><GS><FS><RS><ETX>{chksum}<EOT>

Любое руководство высоко ценится? :) ТИА!

...