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é.