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.