Du hattest es so:
Neu:DDRB = (1<<PB2); // der schreibt 00000100 rein. gut.
DDRB = (1<<PB1); // aber der schreibt jetzt 00000010 drüber
// drin steht jetzt 00000010
// der erste 1-er ist jetzt wieder weg
DDRB = (1<<PB2); // der schreibt 00000100 rein.
DDRB |= (1<<PB1); // der schreibt seine 00000010 DAZU
// drin steht jetzt 00000110, also beides
Lesezeichen