Forum: Mikrocontroller und Digitale Elektronik ISR(TIMER0_OVF0_vect) beim Tiny2313


von Gepi (Gast)


Lesenswert?

Hallo zusammen

Ich habe ein Problem mit meiner ISR für den Timer0 Overflow Interrupt 
beim Tiny2313. Das funktioniert nämlich so wie ichs gemacht habe nicht:

ISR(TIMER0_OVF0_vect){...}

avr-gcc sagt: TIMER0_OVF0_vectappears to be a misspelled signal handler

Hab ich da was falsch verstanden? Ich habe den IR-Vektor aus meiner 
io2313.h und benutzt auch aus diesem Header Vektoren für INT0 und INT1 
(ext. Interrupt) und das funktioniert.

Gruß

Gepi

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Probier's mal mit TIMER0_OVF_vect
Bzw. TIMER1, wie auch immer...

von Johannes M. (johnny-m)


Lesenswert?

Die "io2313.h" ist ja auch für den AT90S2313 und nicht für den Tiny2313. 
Beim Tiny2313 heißt der Vektor "TIMER0_OVF_vect" und die Header-Datei 
"iotn2313.h"...

von Gepi (Gast)


Lesenswert?

same same ... immer noch das gleiche Problem!

Habs mal mit ISR(_VECTOR(6)){...} versucht, da kommt kein Fehler mehr. 
Komisch?!

von Johannes M. (johnny-m)


Lesenswert?

Gepi wrote:
> same same ... immer noch das gleiche Problem!
>
> Habs mal mit ISR(_VECTOR(6)){...} versucht, da kommt kein Fehler mehr.
> Komisch?!
Hast Du im Makefile auch den richtigen Controller angegeben?

von Philipp D. (phili)


Lesenswert?

Wenn ich richtig erinnere soll anstelle der devicespezifischen I/O 
Header besser
1
#include <avr/io.h>

verwendet werden. Der Compiler wählt dann an Hand der Prozessorvorgaben 
die richtigen Dateien.

Phili

von Gepi (Gast)


Lesenswert?

ok alles klar, funktioniert doch. Dankeschön. Schon wieder was gelernt.

@  Johannes M.

hab kein Makefile, habe ein ".bat-Script" mit avr-gcc und 
avrdude-Aufrufen und das wars. Oder läuft das auch unter makefile?

von Johannes M. (johnny-m)


Lesenswert?

Philipp D. wrote:
> Wenn ich richtig erinnere soll anstelle der devicespezifischen I/O
> Header besser
>
>
1
> #include <avr/io.h>
2
>
>
> verwendet werden. Der Compiler wählt dann an Hand der Prozessorvorgaben
> die richtigen Dateien.
...und genau das hat er ja vermutlich auch gemacht. Er hat nur aus der 
falschen Header-Datei den Vektornamen rausgesucht. Und der stimmte eben 
nicht mit dem Namen aus der automatisch eingebundenen überein...

BTW: Eine Tabelle der Vektornamen, aufgeschlüsselt nach AVR-Typ, steht 
in der libc-Dokumentation. Da braucht man nicht in den Headern 
rumzuwühlen.

Gepi wrote:
> hab kein Makefile, habe ein ".bat-Script" mit avr-gcc und
> avrdude-Aufrufen und das wars. Oder läuft das auch unter makefile?
So ähnlich. Jedenfalls eine Datei, die dem Compiler usw. mitteilt, was 
er mit welchen Parametern zu tun hat...

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.