Hallo, irgendwie habe ich gerade ein Brett vor dem Kopf: Ich will jede Minute einen Interrupt haben, um einen kleinen Test zu machen. Dazu nehme ich IMMIN. Klar soweit. Jede Stunde will ich dann statt dem kleinen einen großen Test machen. Dazu benutze ich IMHOUR. Auch klar soweit. Nun finde ich aber kein Flagregister das mir anzeigt, welcher der beiden Interrupts ausgelöst hat (zumal bei der Stunde ja auch beide ausgelöst werden). Ich kann im ILR nur schauen, ob der Interrupt durch einen Counterincrement (Sekunde oder Minute oder Stunde oder ...) oder einen Alarm ausgelöst wurde. Klar kann man das irgendwie durch die Hintertür mit Statusvariablen in der ISR hinkriegen (z.B. IMMIN bis 59 zählen lassen). Aber der LPC17xx hat so viele Register, da kann doch so etwas einfaches und absolut sinnvolles nicht fehlen? Der normale Weg ist doch bei einem "Sammelinterrupt", im Flagregister den Verursacher zu identifizieren und entsprechend zu verzweigen? Wie gesagt, irgendwie bin ich wohl gerade falsch davor.
Hallo, Wenn du nur den Minuten- und Stunden-Interrupt enabled hast, dann kannst du doch leicht prüfen ob das min-Register auf Null ist, wenn ja war es ein Stunden interrupt. Wenn nicht dann sec-Register auf Null testen, wenn ja war es ein Minuten-Interrupt und wenn nein ein ERROR. Gruss Stefan
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.