0
Beantwoord

IR.CalculateCRC как правильно применить к посылке типа [0x01,0x00,0x00,0x20]

Oleg Starikov 7 jaar geleden bijgewerkt door Vladimir Ovchinnikov (expert) 7 jaar geleden 3

Добрый день!

возник такой вопрос

требуется отправить на устройство (счетчик электроэнергии) посылку типа [0x01,0x00 + CRC]

для запроса данных с него.


разобрался, все уходит ответ от устройства приходит

но сам код CRC- 0x00,0x20 высчитал руками - подставил 


увидел в Вики что есть специальная команда калькулятор в Иридиуме

IR.CalculateCRC- расчет делает вроде в нужный для меня CRC

но в примере он представлен для использования со строкой


как же его применить к посылке подобной для меня: [0x01,0x00] что бы посчитать не руками


должно быть что то типа Hex to ASCII?

Добрый день.

Метод IR.CalculateCRC работает только со строкой.

Можно через JS переводить из Hex, но если в процессе попадётся ноль, то это будет конец строки и результат получится бесполезный. Если единичный случай - проще посчитать руками. Вам надо много и часто считать CRC?

Добрый день!
да я уже вчера принял решение, что наверное проще посчитать руками (через различные калькуляторы в интернете)

набиваю таблицу, т.к. реально особой потребности рассчитывать CRC код наверное нет

тем более полиномов для расчета CRC оказывается великое множество... (кстати в wiki - я не увидел по какому полиному производится расчет для строки)

https://www.scadacore.com/tools/programming-calculators/online-checksum-calculator/


тему можно закрывать

Beantwoord

Рады помочь!