Geração de acorde

bubulindo:
Eu tenho umas macros algures nuns ficheiros de código... quando as descobrir posto aqui.

Hoje tive tempo para brincar com o ATmega16... e descobri as tais macros.

#define SetB(PORT, BIT)	((PORT) |= 1<< (BIT))
#define ClrB(PORT, BIT)	((PORT) &= 1<< (BIT))
#define TogB(PORT, BIT)	((PORT) ^= 1<< (BIT))

Isto usa-se assim

SetB(PORTA, 0); //coloca o bit 0 do porto A a 1

ClrB(PORTB, 3); //coloca o bit 3 do porto B a 0