C a flagy

Doplním ještě Radiusovo info :

typedef 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;
} bits; 

#define BITS(p) (*(volatile bits*)&p) 

#define LED1        BITS(PORTA).B0
#define DIR_LED1    BITS(DDRA).B0

Když funguje tohle :

DIR_LED1=1; // Vystup

LED1=1; // Sviti
.
.
.
LED1=0; // Nesviti

Vyzkoušel jsem i následující :

#define KEY1        BITS(PINA).B2
#define DIR_KEY1        BITS(DDRA).B2
#define PORT_KEY1        BITS(PORTA).B2

DIR_KEY=0; // Vstup
PORT_KEY=1; // Zapnout Pull-up

if (KEY1==0) LED1=1; else LED1=0;

Funguje to také.