Forum: Compiler & IDEs Name der ISR finden


von Dirk R. (dira)


Lesenswert?

Hallo, bin gearde nen AT90Can128 und nen ATmega32, leider habe ich das 
Problem das ich nicht weis wie zu eimen Interrupt das Signal ( oder 
Vector ) heist...
z.B.
SIGNAL( SIG_OVERFLOW0 )
{
// Die ISR
//....
}
Das SIG_OVERFLOW0 habe ich nur durch zufall im Forum gefunden....
kann mir jemand sagen wo das steht ? Im Datenblatt habe ich nichts 
gefunden.

Danke und Gruß Dirk :-)

von Sven P. (Gast)


Lesenswert?

Das hängt ganz und gar vom C-Compiler und der C-Bibliothek ab. Du 
verwendest scheinbar GCC und die GLIBC -- schau da nach.

http://www.nongnu.org/avr-libc/user-manual/index.html

von Johannes M. (johnny-m)


Lesenswert?

SIGNAL und die ganzen SIG_XXX-Vektornamen sind veraltet. SIGNAL wurde 
mittlerweile durch ISR ersetzt.

In der Dokumentation zur AVR-libc stehen alle Vektornamen in der 
Beschreibung der interrupt.h. Die aktuellen Vektornamen setzen sich im 
Regelfall (es gibt leider auch ein paar Ausnahmen) aus dem im Datenblatt 
angegebenen Namen und dem Zusatz _vect zusammen, wobei Leerzeichen im 
Namen durch Unterstriche zu ersetzen sind. beim externen Interrupt 0 
wäre das z.B. INT0_vect.

von Dirk R. (dira)


Lesenswert?

ja ich verwende Win AVR...

Vielen Dank... bist mein Held

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Eine fein säuberliche Auflistung der ISR-Namen bekommst Du zB für 
ATmega32 mit
1
avr-gcc -E -dM file.c -mmcu=atmega32 | grep vect | sort

wobei file.c die <avr/io.h> includen muss.

von martin (Gast)


Lesenswert?

oder man folgt der io.h manuell, dort wird dann target-spezifisch eine 
datei eingebunden, und da stehen dann ziemlich weit unten irgendwo die 
definitionen für die interrupt-vektor-adressen...

von Sven P. (Gast)


Lesenswert?

Oder man liest sich einfach die verfluchte Original-Dokumentation 
durch?! Da steht sogar hinter jeder ISR eine Auflistung der Prozessoren, 
die den ISR besitzen...

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.