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?
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
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 :-)
Noch ne kleine Anmerkung: outp/outb und inp/inb sind deprecated (abgekündigt) - für neue Software nicht mehr verwenden... Gruß, Patrick...
@ 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?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.