Ext Interruppt geht nicht

Gast #86537
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?
Angehängte Dateien:
Gast #86538
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
Angehängte Dateien:
Gast #86541
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?
Gast #86542
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...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren