[an error occurred while processing this directive]
Я бы структуру немножко поменял бы
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено 14 сентября 2005 г. 12:30
В ответ на: Народ у iar avr 4.10В на большой оптимизации есть глюки? Дело в том, что немогу понять где порылась собака. (+) отправлено Igor 14 сентября 2005 г. 11:23


union{
unsigned char Byte;
struct{
unsigned char One:1; // флаг выставлемый в прерывании RX
unsigned char Two:1; // флаг выставляемый в прерывании от таймера
};
}Flags;

переписал бы как

union{
unsigned char Byte;
struct{
unsigned char One:1, // флаг выставлемый в прерывании RX
Two:1; // флаг выставляемый в прерывании от таймера
};
}Flags;


Я плохо помню стандарт - не уверен что в первом случае флаги в одном байте будут. Учу матчасть =))
Еще, если пользоваться только компилятором IAR, до бывает удобно воспользоваться его расширеним и написать:

union{
unsigned char Byte;
struct{
unsigned char bOne:1, // флаг выставлемый в прерывании RX
bTwo:1; // флаг выставляемый в прерывании от таймера
};
}; //объединение без имени

Это даст возможность обращаться к членам объединения непосредственно по имени, т.е.

if(bOne == 1)
bTwo = 0;
Ну и volatile ессно никто не отменял =))

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

Ответы


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

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

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

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

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


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

E-mail: info@telesys.ru