define u8 unsigned char // 0 to 255
#define s8 signed char // -128 to 127
#define u16 unsigned int // 0 to 65535
#define s16 signed int // -32768 to 32767
#define u32 unsigned long int // 0 to 4294967295
#define s32 signed long int // -2147483648 to 2147483647
#define f32 float // ±1.175e-38 to ±3.402e38
#define d32 double // ±1.175e-38 to ±3.402e38
/*
Type Size (Bits) Range from CodeVisionAVR help
bit 1 0 , 1
char 8 -128 to 127
unsigned char 8 0 to 255
signed char 8 -128 to 127
int 16 -32768 to 32767
short int 16 -32768 to 32767
unsigned int 16 0 to 65535
signed int 16 -32768 to 32767
long int 32 -2147483648 to 2147483647
unsigned long int 32 0 to 4294967295
signed long int 32 -2147483648 to 2147483647
float 32 ±1.175e-38 to ±3.402e38
double 32 ±1.175e-38 to ±3.402e38
*/
///////////////////////////////////////////////
#ifdef _MEGA8_INCLUDED_
/* 2 wire serial interface */
#define TWPS1 1
#define TWPS0 0
#define TWINT 7
#define TWEA 6
#define TWSTA 5
#define TWSTO 4
#define TWWC 3
#define TWEN 2
#define TWIE 0
#define TWGCE 0
Вопрос вот в чем: к примеру взять строчку #define TWEA 6
По даташиту понятно что написав в исходнике на С слово TWEA компиллятор найдет его в файле *.h и установит бит 6 в регистре TWCR в единицу, ПОЧЕМУ ВМЕСТО указания что в шестой бит надо установить единицу стоит просто цифра 6 ?????


ниже.