www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik C167 Interrupt funktioniert nicht


Autor: Nikolas A. (pirelli-niko)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen!

Ich werde grade verrückt, da der compiler ständig an der ISR vom Timer 2 
rummeckert und ich nicht weiß warum!? (Außerdem muss ich das morgen früh 
um 8 abgeben :))
Hat von euch jemand eine Ahnung was da falsch ist?
Fehler bringt das Tasking EDE was ich benutze keinen brauchbaren...
Vielen Dank!

Gruß Niko.

Autor: Jochen Müller (taschenbuch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>>Ich werde grade verrückt, da der compiler ständig an der ISR vom Timer 2
>>rummeckert und ich nicht weiß warum!

Wie überaus nützlich...

...dass Du zwar ausgiebig auf die Uhrzeit des Abgebens der Arbeit 
eingehst,
was hier so ziemlich NIEMANDEN weiterbringt.

...dafür aber KEIN WORT darüber verlierst, WAS GENAU der compiler 
meckert!

Sorry, keine Hilfe möglich!

Jochen Müller

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich vermute mal, die Fehlermeldung könnte sein, der MC hat keine 136 
Interruptvectoren.


Peter

Autor: Nikolas A. (pirelli-niko)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jochen Müller wrote:
>>>Ich werde grade verrückt, da der compiler ständig an der ISR vom Timer 2
>>>rummeckert und ich nicht weiß warum!
>
> Wie überaus nützlich...
>
> ...dass Du zwar ausgiebig auf die Uhrzeit des Abgebens der Arbeit
> eingehst,
> was hier so ziemlich NIEMANDEN weiterbringt.
>
> ...dafür aber KEIN WORT darüber verlierst, WAS GENAU der compiler
> meckert!
>
> Sorry, keine Hilfe möglich!
>
> Jochen Müller
Wie schon geschrieben, bringt der Compiler keinen nützlichen Fehler, 
d.h. sobald die Interrupt Routine drin ist meckert er an so ziemlich 
jeder folgenden Zeile ("syntax error, expecting declaration"), was er 
ohne die Routine nicht tut (0 Errors).

@Peter: den Interrupt Vektor hab ich aus der zugehörigen Tabelle aus dem 
Datenblatt. ("Vector Loaction")

Autor: Mark de Jong (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Nikolas,

Versuch es mal mit der interrupt trap nummer 0x22 anstatt der interrupt 
vector adresse.

Grüße Mark,

Autor: Nikolas A. (pirelli-niko)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Mark!

Dankeschön für die Antwort, doch leider brachte die Änderung keine 
Besserung.

Gruß Niko.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nikolas A. wrote:

> Wie schon geschrieben, bringt der Compiler keinen nützlichen Fehler,
> d.h. sobald die Interrupt Routine drin ist meckert er an so ziemlich
> jeder folgenden Zeile ("syntax error, expecting declaration"), was er
> ohne die Routine nicht tut (0 Errors).

Das ist nur ein Tüpfelchen mehr an Informationen, aber immer noch völlig 
ungenügend.

Du willst Hilfe, sagst aber nichts, warum?

Zu einer Fehlermeldung gehört immer der exakte Wortlaut mit 
Zeilennnummer !!!

Erst dann kann man feststellen, ob die Fehlermeldung nützlich ist.


> @Peter: den Interrupt Vektor hab ich aus der zugehörigen Tabelle aus dem
> Datenblatt. ("Vector Loaction")

Auf Wischiwaschi kann man eben nur Vermutungen äußern.


Peter

Autor: TManiac (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

Hast du dir mal angeschaut wie Interserviceroutinen für Tasking aussehen 
müssen? Auch wenn es zu spät für deinen Abgabetermin ist, lernen soll 
man trotzdem.

Der Funktionskopf muss so aussehen:
_interrupt(0x22) _using(_LEVEL_?) void GPT2_viT2(void)

Interuptnummer und Level musst nach selber ergänzen. Und der Name der 
Funktion ist eigentlich egal.

Schnappt dir mal DAvE und lass dir den Funktionsrumpf erstellen.

Und an solche "Sag mal den genauen Fehler, sonst kann man nicht helfen".
Wer keine Ahnung von dem Compiler und/oder dem Controller hat soll die 
Klappe halten. Es ist absolut unnütz.

Autor: Jochen Müller (taschenbuch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>>Und an solche "Sag mal den genauen Fehler, sonst kann man nicht helfen".
>>Wer keine Ahnung von dem Compiler und/oder dem Controller hat soll die
>>Klappe halten. Es ist absolut unnütz.

DAS IST DÄMLICHER, DUMMER UND PAMPIGER DUMMSINN!!!!!!!!!!!
BIST DU DUMM?

Wenn er Compilerfehler meldet, und Hilfe will...
...dann wird man ja wohl mal nach dem Fehlerterxt fragen dürfen!

Das hat weder was mit dem Compiler zu tun, noch mit Kentnissen des 
Prozessors. Was laberst Du hier für einen dummen Quatsch?


Jochen Müller

Autor: Nikolas A. (pirelli-niko)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
TManiac wrote:
> Der Funktionskopf muss so aussehen:
>
_interrupt(0x22) _using(_LEVEL_?) void GPT2_viT2(void)
>
> Interuptnummer und Level musst nach selber ergänzen. Und der Name der
> Funktion ist eigentlich egal.

Genau das war der Fehler! Hab ich zum Glück auch noch rausgefunden, aber 
trotzdem danke für die (hilfreiche) Antwort.
Das "_using(LEVEL?)" kann man meiner Erfahrung nach auch weglassen.

Autor: TManiac (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Jochen
>DAS IST DÄMLICHER, DUMMER UND PAMPIGER DUMMSINN!!!!!!!!!!!
>BIST DU DUMM?

Nein bin ich nicht. Den Fehler findet man auch ohne jegliche 
Fehlermeldungsbeschreibung. Und ich fand es nur in höchsten Maße frech 
ihm zu schreiben dass man nicht helfen kann solange er keine genaue 
Fehlerbeschreibung liefert.
Kennst du den Kontroller oder irgend einen von Infineon? Wenn ja so 
wüsstest du, dass sich die Compiler Tasking und Keil gerade im Santax 
der ISRs unterscheiden. Und wenn geschrieben wird, dass der Fehler durch 
das Einfügen einer ISR verusacht wird, so schau ich doch erst einmal in 
den Code. Und seine Formulierung der Interruptroutine sah sehr nach 
Pseudo-Code (entschuldige Nikolas) aus.

Und aus der Berufserfahrung heraus kann ich behaupten, wenn der Compiler 
unsinnige Fehler liefert, dann fehlt irgend wo etwas.

Ach und pampig ist es alles in Großbuchstaben zu schreiben und die Leute 
hier ANZUBRÜLLEN. Ich bin dermaßen froh, das das Internet noch 
Text-basiert ist. Bis zum Ende eines Textes hat man seine Stimmung 
wieder unter Kontrolle und lächhelt eher über die Dummheit der anderen.

Bleibt Locker da draußen in der einsamen Welt.
TManiac

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.