Понятно, так я раньше делал.
Здесь же хотел что бы одним define убить всех зайцев
Код
#define SET_PORT_1(port, bit) (PORT##port |= _BV(bit))
#define SET_PORT_0(port, bit) (PORT##port &= ~_BV(bit))
#define SET_DDR_1(port, bit) (DDR##port |= _BV(bit))
#define SET_DDR_0(port, bit) (DDR##port &= ~_BV(bit))
#define TEST_PIN(port, bit) (PIN##port & _BV(bit))
#define DB4_1 SET_PORT_1( PORT_DB4 ,DB4)
#define DB4_0 SET_PORT_0( PORT_DB4 ,DB4)
#define DDR_DB4_1 SET_DDR_1(PORT_DB4,DB4)
#define DDR_DB4_0 SET_DDR_0(PORT_DB4,DB4)
#define PIN_DB4 TEST_PIN(PORT_DB4,DB4)
Ну, вообщем не писать это
#define DB4 0 //указать номер вывода
#define PORT_DB4 PORTB //указать порт вывода
#define DDR_DB4 DDRB
#define PIN_DB4 PINB