www.mikrocontroller.net

Forum: Compiler & IDEs WinAVR-20060125: warnung: 'misspelled signalhandler'


Autor: mse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe soeben die neue Version von WinAvr installiert und ein bis
dahin problemlos laufendes Programm compiliert:

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

SIGNAL(SIG_OUTPUT_COMPARE1A)
{
  //...
}

Ergebnis:
#warning "This header file is obsolete.  Use <avr/interrupt.h>."
Warnung: `_Z11__vector_12v' appears to be a misspelled signal handler

Wenn ich '#include <avr/signal.h>' auskommentiere, erhalte ich
weiterhin die zweite Warnung, die erste fällt logischer weise weg, da
sie von besagtem Header-File generiert wird.

In beiden Fällen (mit und ohne '#include <avr/signal.h>') wird ohne
Fehlermeldungen compiliert und gelinkt. Das hex-File läßt sich laden
und das Programm läuft erwartungsgemäß.

Weiß jemand, was mir diese Warnungen (vor allem die zweite) sagen
wollen und wie man sie verhindert?
(Indem man den Ansrüchen des Compilers gerecht wird, nicht indem man
einfach irgendwelche Warnungen unterdrückt! ;)

Gruß, Michael

Autor: Hubert.G (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hängt mit dem geänderten Interrupt zusammen, im Manual nachlesen, die
Interrupt-Aufrufe haben sich geändert.

Autor: Fritz Ganter (fritzg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab mal getestet. Bei mir gehts, allerdings ist dein Signal im .lst File
bei mir __vector_12, wo kommt bei dir das _Z11 und hinten das v her?

Hab für den Mega32 übersetzt, welchen Controller hast du?

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bitte deklariere deine ISRs mal in einer C-Datei statt in einer
C++-Datei.  Im Prinzip müsste das auch irgendwie mit

extern "C" ...

gehen.  Kannst gern einen Bugreport für avr-libc aufmachen.

_Z11__vector_12v ist weiter nichts als der C++-vermanschte Name für
__vector_12().

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.