Forum: Mikrocontroller und Digitale Elektronik Ext Interruppt geht nicht


von Stephan Schwarz (Gast)


Angehängte Dateien:

Lesenswert?

Hallo

Hab da ein Problem bei der Anwendung mit einem EXT Interrupt.
MCU ist eine AT90S2313.
Da ich noch nie mit einem Interuppt gearbeitet habe, habe ich versucht
ein Beispielprogramm von C. Schifferle abzuändern.
Im Original wird eine Timmerinteruppt eingesetzt.
Das Programm springt aber nicht in die IR-Routine.
Es ist nur ein Testprogramm, indem eine LED auf einem Port Blinkt.
Wobald der IR ausgelöst wird soll eine LED auf einem anderne Port
 x mal Blinken und wieder in Main zurückkehren.

Wo liegt mein Problem?

von Dieter B (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Stephan

Habe deinen Code mal abgeändert. Läuft im Simulator so ganz gut.

Du hast vergessen die signal.h mit einzubinden.

Wenn ein INT kam, sprang das Programm wieder an den Anfang und nicht in
die Int. Routine.

Nimm die Delays wieder rein, hatte die header nicht.


MFG
Dieter

von Stephan Schwarz (Gast)


Lesenswert?

Danke schön für die Hilfe.

Aber die Signal.h hab ich nicht vergessen - ich kannte die bisher noch
einfach nicht.

und grüss mir mal die Estefania  :-)

von OldBug (Gast)


Lesenswert?

Noch ne kleine Anmerkung:
outp/outb und inp/inb sind deprecated (abgekündigt) - für neue Software
nicht mehr verwenden...

Gruß,
Patrick...

von Stephan Schwarz (Gast)


Lesenswert?

@ OldBug

Hab ich schonmal gelesen, aber was nehme ich anstelle um für den
Portzugriff???

"deprecated (abgekündigt)"   heisst Sie werden in Zukunft von neueren
Compiler nichtmehr verstanden? oder wie?

von OldBug (Gast)


Lesenswert?

Sie werden nicht mehr unterstützt.
Wann das passiert, bleibt den Entwicklern überlassen.
Zugriffe auf die Ports und Register etc. einfach durch Zugriff auf die
Namen derer durchführen:

DDRB = 0xFF;
PORTB = 0xFF;
while (! (USR & (1 << UDRE));
[..]

Gruß,
Patrick...

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.