-
-
Erfahrener Benutzer
Roboter Experte
Damit ein Interrupt ausgelöst wird muss generell folgendes geschehen: das I-bit in SREG muss gesetzt sein, der Interrupt muss freigeschaltet sein, das interruptauslösende Ereigniss muss auftreten.
2 davon hast du gemacht, 1 nicht. =)
TIMSK | = (1<<TOIE2);
Nicht vergessen: immer, wenn du ein interrupt benutzen willst, musst du ihn erstmal erlauben (freischalten)
Damit sollte es funktionieren.
Und noch ein Tipp: wenn du Konstanten eingibst, die größer sind als 32768, dann schreibe ein UL (= unsigned long) dahinter, denn viele compiler nehmen konstanten generell als ein int auf, was bei den AVRs 16bit ist. Also: F_CPU 16000000UL (ist besser).
Gruß, Yaro
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen