Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   CRC16 Modbus генератор (https://javascript.ru/forum/misc/31972-crc16-modbus-generator.html)

ruslanchek111 27.09.2012 23:09

CRC16 Modbus генератор
 
Привет всем. Может кто подскажет? Пишу сервер на NODEJS для приема GPS-данных. Встал вопрос по реализации механизма вычисления CRC16 Modbus контрольной суммы. Нашел такой пример на C (http://www.modbustools.com/modbus_crc16.htm). Решил портировать его на JS.

Вот что получилось: http://jsfiddle.net/ruslanchek/9taYS/

Но вот беда, пробую вычислить сумму от строки "1" или "2" или "9", все считает правильно (можно тут проверить правильность - выбрать HEX режим), но как только вводишь строку из двух символов, скажем "11" или "22". То вычисляет что-то не то уже :-( Уже мучаюсь 2 дня... В чем может быть дело?

nerv_ 28.09.2012 00:38

1. вы ошиблись
2. левый алгоритм

Смотрите в сторону md5. Сравнительные тесты (и код) некоторых хеш-функций можно найти по этой ссылке.

ruslanchek111 01.10.2012 13:51

Решил вопрос. Если кому интересно, то проблема была в том, что я передавал функции строку, а нужно было массив байтов. Рабочий пример: http://jsfiddle.net/ruslanchek/9taYS/13/

eskd72 25.03.2016 16:48

Цитата:

Сообщение от ruslanchek111 (Сообщение 207469)
Решил вопрос. Если кому интересно, то проблема была в том, что я передавал функции строку, а нужно было массив байтов. Рабочий пример: http://jsfiddle.net/ruslanchek/9taYS/13/

Спасибо! Такой вариант работает!


Часовой пояс GMT +3, время: 13:10.