www.mikrocontroller.net

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


Autor: Gepi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Michael G. (linuxgeek) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Probier's mal mit TIMER0_OVF_vect
Bzw. TIMER1, wie auch immer...

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht 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"...

Autor: Gepi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
same same ... immer noch das gleiche Problem!

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

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Philipp Drewes (phili)
Datum:

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

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

Phili

Autor: Gepi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Philipp D. wrote:
> Wenn ich richtig erinnere soll anstelle der devicespezifischen I/O
> Header besser
>
>
> #include <avr/io.h>
> 
>
> 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...

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.