X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Flpc%2Fao_exti_lpc.c;h=fdb6a1caa976bef23789dc7aea69669b3b4be550;hb=b8201bc9ba4a5f5f0522b68493cd5e7f013fd4bb;hp=ce98b4ad3e0dae3c771083dd2fc214009b183112;hpb=098fd43a740ee2a782f82b6b71965b60cdba2d62;p=fw%2Faltos diff --git a/src/lpc/ao_exti_lpc.c b/src/lpc/ao_exti_lpc.c index ce98b4ad..fdb6a1ca 100644 --- a/src/lpc/ao_exti_lpc.c +++ b/src/lpc/ao_exti_lpc.c @@ -69,7 +69,7 @@ _ao_exti_set_enable(uint8_t pint) lpc_gpio_pin.sienr = mask; else lpc_gpio_pin.cienr = mask; - + if (mode & AO_EXTI_MODE_FALLING) lpc_gpio_pin.sienf = mask; else @@ -91,11 +91,14 @@ ao_exti_setup (uint8_t port, uint8_t pin, uint8_t mode, void (*callback)(void)) if (pint == LPC_NUM_PINT) ao_panic(AO_PANIC_EXTI); + if (!(mode & AO_EXTI_PIN_NOCONFIGURE)) + ao_enable_input(port, pin, mode); + ao_arch_block_interrupts(); mask = (1 << pint); ao_pint_inuse |= mask; ao_pint_enabled &= ~mask; - + ao_pint_map[id] = pint; ao_exti_callback[pint] = callback;