Hallo ihr Experten, wie kann ich eine LED per interrupt ein/aus schalten? Genauer gesagt, will ich z.B nach dem ablauf eines Timers, eine bereits leuhtende LED per interrupt ausschalten lassen. Wenn der interruptroutiene abgearbeitet ist soll die LED wieder leuchten, und das ganze nochmal von vorne(also eigentlich einfach ein Blinkverhalten erzeugen). kann mir vielleicht jemand ein entsprechendes Code-Beispiel dazu zeigen, vielleicht mit einer kurzen Erklärung dazu? Es geht mir ja nur darum das Interrupt-Programmierung an sich besser verstehen zu können und vorallem zu wissen wie man Thumb2 Befehle nutzten kann. Mein system ist übrigens: LPC1768. Ein Cortex-M3 Gruß und danke schonmal im voraus.
Hier ist ein Beispiel mit timer interrupt für den LPC1768 http://gvworks.blogspot.com/2011/01/interrupts-in-lpc1768.html Statt eine LED zu toggeln könntest du deine Anforderung so einbringen (Beispiel #1 von oben):
1 | void TIMER0_IRQHandler (void) |
2 | {
|
3 | if((LPC_TIM0->IR & 0x01) == 0x01) // if MR0 interrupt |
4 | {
|
5 | LPC_TIM0->IR |= 1 << 0; // Clear MR0 interrupt flag |
6 | LPC_GPIO1->FIOPIN |= (1 << 29); // active-high LED ON |
7 | |
8 | // hier der eigene IRQ-Code...
|
9 | |
10 | LPC_GPIO1->FIOPIN &= ~(1 << 29); // active-high LED OFF |
11 | }
|
12 | }
|
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.