Wednesday, 19 September 2012

Битовые поля в WinAVR.

// структура может занимать и более 1 байта
struct{
          unsigned b0 :1;      //младший бит
          unsigned b1 :1;
          unsigned b2 :1;
          unsigned b3 :1;
          unsigned b4 :1;
          unsigned b5 :1;
          unsigned b6 :1;
          unsigned b7 :1;     //старший бит
}bit_field;

uint8_t  *p;
// указатель на 1й байт структуры
p=(uint8_t *)&bit_field;

//инициализируем структуру
bit_field.b0=1;

bit_field.b7=0;

// передаем сформированные байты в микросхему

SPI(*p);    

No comments:

Post a Comment