Hallo,
Ich arbeitete mich seit einigen Tagen in die Cortex-M3 von NXP ein.
Konkret geht es um einen LPC1751.
Der Controller arbeitet mit 48 MHz Takt und der "Falling edge"-Interrupt
ist - meines Erachtens - korrekt eingestellt:
1 | LPC_GPIOINT->IO0IntEnF |= (1 << PIN);
|
2 | LPC_GPIOINT->IO0IntClr = (1 << PIN);
|
3 | NVIC_SetPriority(EINT3_IRQn, 0);
|
4 | NVIC_EnableIRQ(EINT3_IRQn);
|
5 | __enable_irq();
|
Der Interrupt-Handler wird aufgerufen usw. So weit kein Problem.
Allerdings habe ich den Eindruck, dass ziemlich viel Zeit zwischen der
Flanke am Pin und der Ausführung des Interrupt-Codes vorüber geht (> 10
us). Kann dies sein?
Falls ja, kann man diese Zeit irgendwie verkürzen? Es wäre schön, denn
dann könnte ich den Interrupt anstelle eines Polling-Verfahrens nutzen.
Viele Grüße,
Lars