IAR310?
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено Tolik 11 февраля 2004 г. 18:57

Для управления устройством необходимо сформировать последовательный протокол, в котором управляющие слова выдаются по 24 разряда. Написал кусок кода
...
union {
unsigned char Reg[3];
struct {
unsigned :2;
unsigned A:6;
unsigned B:13;
};
struct {
unsigned char Reg_Bit0:1;
unsigned char Reg_Bit1:1;
unsigned char Reg_Bit2:1;
unsigned char Reg_Bit3:1;
unsigned char Reg_Bit4:1;
unsigned char Reg_Bit5:1;
unsigned char Reg_Bit6:1;
unsigned char Reg_Bit7:1;
unsigned char Reg_Bit8:1;
unsigned char Reg_Bit9:1;
unsigned char Reg_Bit10:1;
unsigned char Reg_Bit11:1;
unsigned char Reg_Bit12:1;
unsigned char Reg_Bit13:1;
unsigned char Reg_Bit14:1;
unsigned char Reg_Bit15:1;
unsigned char Reg_Bit16:1;
unsigned char Reg_Bit17:1;
unsigned char Reg_Bit18:1;
unsigned char Reg_Bit19:1;
unsigned char Reg_Bit20:1;
unsigned char Reg_Bit21:1;
unsigned char Reg_Bit22:1;
unsigned char Reg_Bit23:1;

};
}N_Counter;
...
Дебагер показывает, что объединение заняло 4 байта в памяти, а я расчитывал на 3 байта (массив - 3байта, 1-е битовое поле 21 бит, 2-е битовое поле 24 бита). Где я ошибся?

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

Ответы



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

E-mail: info@telesys.ru