[an error occurred while processing this directive]
2Сидоргек (к вопросу о выравнивании...)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Nikolaj 29 сентября 2005 г. 14:39

Возможно ли в йар авр указать компилятору не делать выравнивание битовых полей по границе байта в структурах?
Под U1 он отведет 2 байта. Под U2 тоже два, т.к. поле F2 на бит больше чем оставшиеся два бита в первом байте и он выравняет это поле уже по границе второго байта. А хотелось бы всю структуру упаковать в полтора байта.
union{
unsigned char Tab[2];
struct{
unsigned char F0 : 4;
unsigned char F1 : 4;
unsigned char F2 : 4;
unsigned char F3 : 4;
}Test1;
}U1;
union{
unsigned char Tab[2];
struct{
unsigned char F0 : 3;
unsigned char F1 : 3;
unsigned char F2 : 3;
unsigned char F3 : 3;
}Test2;
}U2;

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru