Zu Erinnerung mal die korrekte Syntax für das Setzen von Bits in den Registern:
Bit setzen:
PORTB |= (1<<PB4);
(ODER [|] mit der Bitmaske rechts und dem alten Zustand)
Bit löschen:
PORTB &= ~(1<<PB4);
(UND [&] mit der INVERTIERTEN [~] Bitmaske)
Bit toggeln:
PORTB ^= (1<<PB4);
(EXODER [^] mit der Bitmaske)
PS: für die Verzögerung bietet sich auch folgendes an:
Code:#include <avr/delay.h> void warte(uint16_t loop) //loop: wartezeit in ms { uint16_t i; for(i=0;i<loop;i++) _delay_ms(1); }
Lesezeichen