Forum: Mikrocontroller und Digitale Elektronik Kein Sprung in ISR


von Markus (Gast)


Angehängte Dateien:

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

von Markus (Gast)


Lesenswert?

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

von (prx) A. K. (prx)


Lesenswert?

Interrupts einschalten geht mit sei()

von Stefan E. (sternst)


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?

von Markus (Gast)


Lesenswert?

oder im Entsprechenden Register. Muss doch aufs gleiche hinauslaufen?

von (prx) A. K. (prx)


Lesenswert?

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

von Markus (Gast)


Angehängte Dateien:

Lesenswert?

So wie von Stefan Ernst gewünscht, der Angang als *.c

von Markus (Gast)


Lesenswert?

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

von (prx) A. K. (prx)


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.

von Karl H. (kbuchegg)


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.

von Markus (Gast)


Lesenswert?

ok leute, danke :)

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

von Markus (Gast)


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.

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.