Hi,
ich hab bei mir I2C am laufen mit Interrupts (µController: LPC1758).
Jetzt möchte ich gerne noch eine Polling-Routine einbauen, die den
Status vom I2C zurückliefert. Dieser Status wird aber in der
Interrupt-Routine ständig angepasst.
1 | uchar GetI2CState(void)
|
2 | {
|
3 | NVIC_DisableIRQ(I2C1_IRQn);
|
4 | //get status
|
5 | NVIC_EnableIRQ(I2C1_IRQn);
|
6 |
|
7 | }
|
Jetzt kann es doch sein, dass gerade während ich den I2C Interrupt
ausgeschaltet habe, einer ankommt. Was muss ich machen, damit dieser
Interrupt trotzdem von meinem Programm wahrgenommen wird, sobald der
Interupt wieder aktiviert ist?
Muss ich hierfür irgendwo "NVIC_GetPendingIRQ" aufrufen?
Gruß
Lars