Цитата:
Сообщение от vampiryok
спасибо за поправку, но дело гораздо глубже. В segnetics действительно integer занимает 2байта, long 4байта. А вот Lectus же понимает под integer 4байта, под smal integer 2байта, short integer 1байт, big integer аж 8байт.
вот и получается что для чтения long(у segnetics) надо использовать Integer(у Lectus) по 4 байта
|
Не в ту сторону вы смотрите. Дело действительно глубже, но не по этой причине.
Integer - это целое число принятой в платформе разрядности. У семейства AVR это 16 бит. У компа у вас на столе это 32 бита для 32-разрядных платформ и 64 бита для 64-разрядных. Вы этих "программистских штучек" не знаете, поэтому и путаетесь.
Префикс Long/Small - это указание на конкретную величину.
Цитата:
Сообщение от vampiryok
по поводу того что регистры по 2 байта проверю на досуге
|
Что тут проверять, в стандарте modbus это явно задано. И именно его нужно читать как первоисточник.