Вход
Наше всё
Теги
codebook
无线电组件
Поиск
Опросы
Закон
Суббота
17 августа
О смысле всего сущего
0xFF
Средства и методы разработки
Мобильная и беспроводная связь
Блошиный рынок
Объявления
Микроконтроллеры
PLD, FPGA, DSP
AVR
PIC
ARM, RISC-V
Технологии
Кибернетика, автоматика, протоколы
Схемы, платы, компоненты
Средства и методы разработки
1389286
Топик полностью
VladislavS.
(02.01.2024 22:07, просмотров: 63)
ответил
POV
на
Видимо да. "char" там всё и попортило т.к. размещение переменной разделилось между двумя байтами.
Естественно. Он что можно по char упаковал, а настоящие char отдельно положил. Оптимизировал и sizeof(Result_t)==6 получил. А вот если его в uint32_t попросить всё утоптать, то будет желаемое sizeof(Result_t)==4.
Ответить
И не только размер не тот, но и порядок полей изменён ради этой упаковки в байты. Потому надо в одной переменной uint32_t поля выделять, чтобы оно полряд шло как олписано, если это куда-то передается (регистрации модбаса например битовыми полями представлен).
-
POV
(02.01.2024 22:12
)