www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Kein Sprung in ISR


Autor: Markus (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich versuche meine ersten Programmierübungen an einem ATtiny2313 (hatte 
den zuhause herumliegen) und zwar mit AVR studio.

Mein problem ist, dass anscheinend der INT0 nicht erkannt wird.

Folgendes kurz zu meinem Programm, was ich bereits getan habe:

-) Globale Interrupts sind EIN
-) INT0 so definiert, dass auf die steigende Flanke reagiert wird. 
Gleichzeitig ist Port2 als AUSGANG definiert, damit ich den Interrupt in 
der Software auch simulieren kann (lt Datenblatt geht das und nennt sich 
software interrupt).

So, leider springt der cursor in der Simulation nicht in die ISR, die 
endlosschleife in der ISR ist nur zu Testzwecken...


Leute, ich habe wirklich viel nachgelesen aber ich komm einfach nicht 
drauf. Mein Programmierstil wird euch wahrscheinlich auch eher 
schockieren, aber es ist ja noch kein meister vom Himmel gefallen ;)

Ich hoffe ihr könnt mir helfen und bedank mich schon mal im Voraus für 
eure Antworten!

Liebe Grüße Markus

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach bevor ich es vergesse, die unterstriche sind sehr wohl überall 
vorhanden, der pdf-maker hat sie aber anscheinend gefressen ;)

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Interrupts einschalten geht mit sei()

Autor: Stefan Ernst (sternst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Markus schrieb:
> Ach bevor ich es vergesse, die unterstriche sind sehr wohl überall
> vorhanden, der pdf-maker hat sie aber anscheinend gefressen ;)

Und warum um alles in der Welt machst du daraus überhaupt ein PDF, statt 
einfach Test.c direkt anzuhängen?

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
oder im Entsprechenden Register. Muss doch aufs gleiche hinauslaufen?

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zu viel PL/I programmiert? 0b010 = 0b00000010 (GIMSK).

Autor: Markus (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
So wie von Stefan Ernst gewünscht, der Angang als *.c

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
GIMSK ist ein 3 Bit register, daher dachte ich dass das so gehört. Aber 
ich werde es gleich mal ausprobieren.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Markus schrieb:

> GIMSK ist ein 3 Bit register, daher dachte ich dass das so gehört.

Aber davon weiss der C Compiler nichts. Für den sind das 8 Bits.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und bitte.
Die Bits haben im Datenblatt Namen!

Dein Compiler stellt dir praktischerweise ein Include File zur Verfügung 
(kommt mit dem avr/io.h mit rein), dass diese Namen definiert.

Es gibt keinen Grund da mit Bit-Konstanten rumzuwurschteln.

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok leute, danke :)

find ich top, eure schnellen und zielführenden Antworten, es klappt :)

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Karl heinz Buchegger schrieb:
> Und bitte.
>
> Die Bits haben im Datenblatt Namen!
>
>
>
> Dein Compiler stellt dir proktischerweise ein Include File zur Verfügung
>
> (kommt mit dem avr/io.h mit rein), dass diese Namen definiert.
>
>
>
> Es gibt keinen Grund da mit Bit-Konstanten rumzuwurschteln.

Ja, das mag schon sein!
Aber wie ich zu Anfang schon geschrieben habe, mache ich das zum ersten 
mal. Also bin ich mit mir schon relativ zufrieden wenn ich das Teil auf 
irgendeine Art und weise zum laufen bekomme. Später, wenn ich mich mit 
der Materie solide auskenne werde ich mir das leben auch versuchen zu 
vereinfachen.
Jetzt allerdings noch nicht, zu viele Informationen auf einmal können 
einen auch erschlagen.

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.