понедельник, 10 декабря 2012 г.

Глобальные флаги в стиле Renesas

Для удобства работы как с отдельными битами так и целиком с байтом или скажем словом, удобно использовать вот такую конструкцию:


typedef struct {
union {
unsigned char BYTE;
struct{
unsigned char DUMMY: 5;
unsigned char FLAGFORFUTURE: 1;
unsigned char ADCBUSY: 1;
unsigned char UARTBUSY : 1;
}BIT;
}DATA;
}_GLOBAL_FLAGS;


Затем мы создаем эту структуру:

_GLOBAL_FLAGS GLOBAL_FLAGS;

Ну и теперь с ней можно работать например так (побайтно):

GLOBAL_FLAGS.DATA.BYTE = 0;

или так (побитно):

GLOBAL_FLAGS.DATA.BIT.UARTBUSY = 1;

Комментариев нет: