Мне нужна помощь, пожалуйста.
Я пытаюсь связаться с устройством через 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>
Любое руководство высоко ценится? :)
ТИА!