YarkoDzech
@YarkoDzech
будучи трезвым, сдержи все свои пьяные обещания!

Как перевести кастомный набор команд для serialport (RS485) в байты?

Есть физичнская железяка, которая принимает набор комманд. Обмен ведется ASCII символами.
Из документации: "все байты передаются в виде двух ASCII символов старшим байтом вперед. Например команда "A" 34h,31h"
Тут непонятно как эти символьные команды переводить в два байта в nodejs. Как из "A", например сделать, 0x34 0x31

И контрольная сумма считается как XOR по всем символам до поля CRC. Тут тоже вопрос. Та же "A" переводится через charCodeAt(0) сразу в 65. Боюсь побитовое сравнение будет тоже неверным.

В общем взываю к помощи!
  • Вопрос задан
  • 123 просмотра
Решения вопроса 1
hint000
@hint000
у админа три руки
Отбой, не надо ссылки на доки. Нагуглил и рассказываю.
Протокол Modbus.
Как из "A", например сделать, 0x34 0x31
ASCII("A")=41h
Теперь "41" (без суффикса "h") раскладываем на два символа:
ASCII("4")=34h
ASCII("1")=31h

https://www.modbus.org/docs/PI_MBUS_300.pdf
страница 6;
а также про CRC, страница 16.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы