-
-
Erfahrener Benutzer
Robotik Visionär
Die Intterrupt routine muss etwas so aussehen:
ISR(TIMER1_OVF_vect ) // timer 1 overflow
{ a = 1; }
Bei den _wait_us noch mal in delay nachsehen.
Da ist noch ein fieser, C typischer Fehler drin:
statt if (a=1) muss das if (a==1) heißen.
Die For-schleife mit wait_ms darf nur bis 254 laufen, oder i müßte als integer gewählt werden.
Wenn es nur darum geht die Messung beim Timerüberlauf abzubrechen, könnte man auch gleich das interrupt flag abfragen. Dann muß man allerdings während der Zeit alle interrupts per CLI sperren.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen