summaryrefslogtreecommitdiff
path: root/src/lpc
diff options
context:
space:
mode:
Diffstat (limited to 'src/lpc')
-rw-r--r--src/lpc/ao_exti.h1
-rw-r--r--src/lpc/ao_exti_lpc.c3
2 files changed, 4 insertions, 0 deletions
diff --git a/src/lpc/ao_exti.h b/src/lpc/ao_exti.h
index cbe63eaa..e8599eb4 100644
--- a/src/lpc/ao_exti.h
+++ b/src/lpc/ao_exti.h
@@ -25,6 +25,7 @@
#define AO_EXTI_PRIORITY_LOW 16
#define AO_EXTI_PRIORITY_MED 0
#define AO_EXTI_PRIORITY_HIGH 32
+#define AO_EXTI_PIN_NOCONFIGURE 64
void
ao_exti_setup(uint8_t gpio, uint8_t pin, uint8_t mode, void (*callback)());
diff --git a/src/lpc/ao_exti_lpc.c b/src/lpc/ao_exti_lpc.c
index ce98b4ad..588cf58c 100644
--- a/src/lpc/ao_exti_lpc.c
+++ b/src/lpc/ao_exti_lpc.c
@@ -91,6 +91,9 @@ 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;