Forum: Compiler & IDEs gcc gibt Warnung bei ISR


von Otto Richter (Gast)


Lesenswert?

Hallo an alle, die das lesen,

ich habe den neusten gcc und das neuste studio. Bisher ( auch mit dem
neuen gcc ) wurde alles perfekt compiliert und lief auch ganz
ordentlich. Jetzt bekomme ich div. Warnungen bei meinen ISR. Beispiel:

in main() steht:

....
#include <avr/interrupt.h>
....

ISR ( INT5_vect )  /*  Tastatur-IR */
  {                                    ////  Zeile 120
    keyboard_isr() ;
  }

..ergibt folgende Warnung des gcc:

../main.c: In function `main':
../main.c:121: Warnung: statische Deklaration von »__vector_6« folgt
Nicht-statischer Deklaration
../main.c:120: Warnung: vorherige Deklaration von »__vector_6« war
hier

Was ist eine statische und eine nicht-statische Deklaration. Falls das
eine blöde Frage ist, bitte ich um Entschuldigung... bin Anfänger.

Was muss ich ändern ?

Danke für Eure Hilfe (was wäre ich ohne dises Forum ?)

Otto

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Was hat die #include-Anweisung in der Funktion main() verloren?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

> Was ist eine statische und eine nicht-statische Deklaration.

Eine hat ein "static" davor und die andere nicht.

Wie und warum das bei dir passiert (ISRs sollten nie static
sein, da sie ja global in die Vektortabelle eingetragen werden
müssen), lässt sich aber nur beantworten, wenn du uns dafür
ausreichend Sourcecode oder Kontext gibst.

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
Noch kein Account? Hier anmelden.