Forum: Mikrocontroller und Digitale Elektronik error wegen interrupt-routine


von Ignaz (Gast)


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

von inoffizieller WM-Rahul (Gast)


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.

von Chief Brady (Gast)


Lesenswert?

Was steht denn in Zeile 31 in Main.c?

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

von Chief Brady (Gast)


Lesenswert?

...oops, da war ich blind... sorry

von johnny.m (Gast)


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.

von Ignaz (Gast)


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

von Ignaz (Gast)


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!!!!

von johnny.m (Gast)


Lesenswert?

Ab in die Ecke! Aber sofort;-)

von vins (Gast)


Lesenswert?

pls.,use english enlish language. I am also having this error.

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.