Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
Не зря в модуле string есть параметр "число передаваемых байтов"! Вот сколько там байтов записано, столько и будет передано, хоть они там все нули... А string - потому, что канал нельзя объявить байтовым массивом. Единственное ограничение при передаче нуля - нельзя пользоваться функциями обработки строк, а надо брать указатель и побайтово читать/записывать в канал модуля String
А меня интересует - в чем трудность реализации команд 0х03 и 0х10 для 16-ти разрядных слов? Откуда весь этот геморрой с указателями? Почему стандарт MODBUS/RTU поддерживается как-то через "зад"?
В стандарте ясно сказано, что минимальной информационной единицей является 16-разрядный регистр, а не какие-то там переменные типа string. То, что реализовано у Вас не может считаться полноценным протоколом MODBUS. На мой взгляд, все эти недочеты должны быть оговорены в документации, опять же сообразно со стандартом.
MODBUS - шина, предусматривающая поляризацию. У Вас ее нет. Почему?
Такая вольная трактовка стандартов может нанести определенный урон хорошему, в общем-то, девайсу (ПЛК 100/150/154) в нелегкой конкурентной борьбе.
Вопрос. Будет ли осуществляться "причесывание" этого недочета?