Brauche Hilfe beim Implementieren von PID-Regler von App AVR221

OP #2295780
Lesenswert?

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
Moderator Persönliche Seite #2295798
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren