Hallo, kann mir jemand ein Beispiel nennen, wie man in GCC eine Interruptroutine schreibt und wie man interupts freigibt. folgendes geht nämlich nicht: interrupt(INT0) void INT0_isr( void ) { NOP(); } Gruß Martin
Durch Lesen der Dokumentation: http://savannah.nongnu.org/download/avr-libc/doc/avr-libc-user-manual/group__avr__interrupts.html sowie der Beispiele in der Dokumentation: http://savannah.nongnu.org/download/avr-libc/doc/avr-libc-user-manual/demo_project.html
...aber als Einstieg hier ein Beispiel für die ISR meines Analogcomparators: /* INTERRUPTHANDLER Analog Comparator */ SIGNAL(SIG_COMPARATOR) { /* Zähler bei jeder steigenden Flanke inkrementieren*/ ++zaehler; } In main dann noch ein sei(); , dann klappts ooch... mz
Nicht vergessen, zaehler in diesem Falle "volatile" zu dekklarieren.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.