Цитата(AndryG @ Feb 16 2015, 13:32)

...Я уже понял, что моя хотелка не из С. ...
по разному обращаться к одному и тому-же участку памяти - это нормально. Если читаете Кернигана & Ритчи (K&R), то Вы можете придерживаться именно
материала там изложенного, тут всё правильно делаете. Если компилятор не пропускает - то проверяйте всякие глобал настройки среды, должно помочь. Ну и читать мануалы на саму среду разработки.
Т.е. K&R можно воспринимать как отличное описание стандарта сей.
Только не забудьте выравнивание на байт сделать до структур. И ышо выше - сохранить выравнивание, а ниже - восстановить его обратно.
И пару слов про модбас.
Различные девайсы по разному трактуют модбас. Бывало, что даже очерёдность CRC на приёме одна (правильная согласно протоколу), а вот передача левая - перевёрнутая. Так, что танцы
с байтами - один чёрт придётся в рукопашную, согласно настройкам или заточка на конкретику. Так-же встречается не стандартная скорость обмена.
Ну и на последок можно упомянуть об важной замороте в данном протоколе - тайм ауты. ОБЯЗАТЕЛЬНО до передачи и после передачи. Тем самым увеличивая помехозащищённость канала.
Разработчики обычно страдают выключением сразу передатчика, после прерывания освобождения сдвигового регистра после передачи. А в начале передачи даже и не заморачиваются с тайм-аутом.
Это зло на длинных линиях в пром. зоне...
Если не поборете - то напишите ошибку сразу, что есть и чего хочется.