-
-
Erfahrener Benutzer
Robotik Einstein
Du fragst ja mit if (TCNT0 == 100) ständig ab, ob das Zählregister eine gewissen Wert enthält. Das ist probelmatisch, weil dessen Wert sich ja ständig ändert. Nun kann es passieren, dass der AVR gerade irgendwo im Rest des Programms hängt, und währenddessen zählt der Timer ...99, 100, 101,... . Und schon ist dir ein Impuls durch die Lappen gegangen. Zuverlässiger funktionieren tut es, wenn du auf größer oder gleich testest. Eleganter wäre es, den Timer einen Interrupt auslösen zu lassen.
Die Zugriffe auf die LEDs sind auch nicht ganz richtig. Da solltest du http://www.mikrocontroller.net/artic...#Ausg.C3.A4nge noch mal gründlich lesen.
PORTB |= (1<<PB2); //Pin auf high
PORTB &= ~(1<<PB2); //Pin auf low
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen