Hallo, ich versuche gerade den PID -Regler von App Note avr221 in mein Projekt hinein zu implementieren. es hackt gerade bei mir an der stelle: /*! \brief Timer interrupt to control the sampling interval */ #pragma vector = TIMER0_OVF_vect __interrupt void TIMER0_OVF_ISR( void ) { static uint16_t i = 0; if(i < TIME_INTERVAL) i++; else{ gFlags.pidTimer = TRUE; i = 0; } } da zeigt AVRStudio folgende Fehlermeldungen: ../main.c:51: warning: ignoring #pragma vector ../main.c:52: error: expected constructor, destructor, or type conversion before 'void' kann mir vielleicht jemand, wie man so ein fehler beheben kann? Danke schön in Voraus MfG Walid
#pragma vector = TIMER0_OVF_vect Sieht mir nach IAR-Embedded Workbench für AVR aus. Du nutzt doch sicher den AVR-GCC. Da werden die ISR anders deklariert. Gruß Skriptkiddy
Die #pragma/__interrupt Kombination ist für den IAR-Compiler (EWAVR/ICC). Für avr-gcc/avr-libc ist dies anzupassen, siehe http://www.nongnu.org/avr-libc/user-manual/group__avr__interrupts.html .
1 | // IAR:
|
2 | #pragma vector = TIMER0_OVF_vect
|
3 | __interrupt void TIMER0_OVF_ISR( void ) |
4 | // GNU:
|
5 | ISR(TIMER0_OVF_vect) |
Lektüre des AVR-GCC-Tutorials erscheint angeraten.
Hallo, Ich danke allen für die Hilfreichen Tipps, Es Funktioniert jetzt :) Mfg Walid
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.