-
-
Erfahrener Benutzer
Robotik Visionär
Bei den Variablen müßte es wohl volatile unsinged int sein, nicht unsigned volatile int. Ganz sicher bin ich mir aber nicht was die falsche Form macht. Ich hätte da ein Warnung oder gar einen Fehler erwartet.
In der ISR braicht man nicht das Interrupt flag löschen und wieder setzen. Das wird schon in Hardware bzw. Am Ende der ISR mit dem ASm befehl RETI gemacht. Das cli() ist einfach nur wirkungslos, das sei() ist dagenen schon gefährlich: wenn ein 2 ter interrrupt auftritt wäredn die ISR läuft, wird der dann schon vor dem Ende Aufgerufen. Im Schlimsten Fall könnte es zu einem Stack Überlauf kommen.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen