1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-12-26 15:03:53 +01:00

cpu/lm4f120: fix gpio isr

- add missing call to cortex_isr_end()
- clear IT as close as possible to its handler.

Signed-off-by: Marc Poulhiès <dkm@kataplop.net>
This commit is contained in:
Marc Poulhiès 2017-03-08 13:51:00 +01:00 committed by Marc Poulhiès
parent 408d18b57b
commit c3e46831da

View File

@ -122,16 +122,18 @@ static void _isr_gpio(uint32_t port_num){
uint32_t isr = ROM_GPIOPinIntStatus(port_addr, true);
uint8_t i;
ROM_GPIOPinIntClear(port_addr, isr);
for (i=0; i<8; i++, isr>>=1) {
if ((isr & 0x1) == 0){
continue;
}
ROM_GPIOPinIntClear(port_addr, 1 << i);
if (gpio_config[port_num][i].cb){
gpio_config[port_num][i].cb(gpio_config[port_num][i].arg);
}
}
cortexm_isr_end();
}
void isr_gpio_porta(void){