Подключил к проекту либу. Там есть место
Код
PACKED_STRUCT {
uint8_t start;
uint16_t length_be;
} prefix;
uint8_t start;
uint16_t length_be;
} prefix;
Далее uart-у передается адрес структуры и ее размер.
И вот тут начинаются проблемы. Принимающие устройство ожидает три байта, а приходит четыре. К тому-же с не правильным length_be. Так как младший байт этой переменной должен быть вторым а не третьим.
Я вижу, что IAR под uint8_t выделяет два байта. sizeof возвращает размер структуры 4.
Как заставить IAR выделять правильное количество байт??