Цитата Сообщение от Stanislav_Y Посмотреть сообщение
Да, я подозревал выравнивание памяти в структуре, читал про это.
Была структура данных для чтения панелью СП310. В структуре были вперемешку и WORD, и BOOL, плюс еще объединения. Убрал все BOOL и упаковал в прорамме их все в WORD'ды. Проблема решилась.
Все равно не очень понимаю сути, как влияет привязка булевской переменной к полю bit в регистре ModbusTCP_Slave_Device на другой регистр. Для чего тогда эти поля бит нужны в регистрах?
Я ведь когда читаю из модуля ввода битовую маску, я присваиваю битовым полям булевские переменные, которые в свою очередь также упакованы в структуры. Так тоже получается нехорошо делать?
Посмотрите здесь про это - интересная статья