www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik error wegen interrupt-routine


Autor: Ignaz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

nachdem ich hier schon soviele meiner Probleme gelöst bekommen habe,
möchte ichs auch diesmal probieren.

Ich schreibe gerade an einem sehr einfachen Programm für einen
at90s2313 und habe mit der Routine:

31  ISR(TIMER0_OVF0_vect)
32  {
33    i++;
34  }

den Überlauf des TIMER0 gezählt.

Jetzt das seltsame:
Das Programm lief bereits, bis ich die gesammte Routine für den
externen Intrrup0 raus gelöscht habe. Sonst nichts.
Jetzt sag mein compiler allerdings :

main.c:31: error: two or more data types in declaration of
`__vector_6'

ich habe leider keine Idee woran das liegen kann.

Wäre wirklich super wenn mir jemand weiterhelfen könnte.

Vielen Dank im vorraus,
Ignaz

Autor: inoffizieller WM-Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guck doch mal, wie dein ISR-Vector wirklich heisst (Tabelle zur
lib-c-Doku).
Irgendwie habe ich das Gefühl, dass der falsch geschrieben ist.

Autor: Chief Brady (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was steht denn in Zeile 31 in Main.c?

Sieht aus, als ob eine Include-Datei mehrfach includiert wird...

Autor: Chief Brady (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...oops, da war ich blind... sorry

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@inoffizieller WM-Rahul:
Der Vektor ist schon richtig geschrieben. Hatte mich da auch schon mal
gewundert, aber die erstaunliche 0 hinter dem OVF steht tatsächlich so
in der Header-Datei.

@Ignaz:
Wenn Du hier schon öfter Hilfe bekommen hast, müsstest Du eigentlich
wissen, dass Dir ohne einen einigermaßen kompletten Code i.d.R. nicht
geholfen werden kann! Ich vermute nämlich eher, dass der eigentliche
Fehler nicht in der besagten Zeile liegt, sondern davor, weil Du auch
sagst, Du hättest was gelöscht.

Autor: Ignaz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dank für di schnell antwort.

@ WM-Rahul

Den Namen habe ich aus der Headerdatei raus kopiert.(io2313.h):


/* Timer/Counter1 Overflow */
#define TIMER1_OVF1_vect    _VECTOR(5)
#define SIG_OVERFLOW1      _VECTOR(5)

/* Timer/Counter0 Overflow */
#define TIMER0_OVF0_vect    _VECTOR(6)
#define SIG_OVERFLOW0      _VECTOR(6)

/* UART, Rx Complete */
#define UART_RX_vect      _VECTOR(7)
#define SIG_UART_RECV      _VECTOR(7)

Außerdem hat das programm ja schon mit dieser Codestelle funktioniert
und auch wunderbar gezählt, ich habe ledigleích code entfernt den ich
eh "aus-kommentiert" hatte

Ignaz

Autor: Ignaz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ouuuuups sorry, wie peinlich.

@ johnny.m
da war noch ein einzelner einsame Buchstab weiter vorne im Code.

aber nochmals vielen Dank.


Gruß Ignaz.



Schääääääääääääm!!!!

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ab in die Ecke! Aber sofort;-)

Autor: vins (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
pls.,use english enlish language. I am also having this error.

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.