X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fstm32l0%2Fao_exti_stm.c;h=d01fe7c0cfc6b34827f190578129c84b975de4aa;hb=b140da92536d7c48ba37868f1c2afce7bb86dfdb;hp=daada01e687cacb2b3e63fe610aec3a327497f34;hpb=db7bf095dfa75858eb12328f104051ea1686e1d5;p=fw%2Faltos diff --git a/src/stm32l0/ao_exti_stm.c b/src/stm32l0/ao_exti_stm.c index daada01e..d01fe7c0 100644 --- a/src/stm32l0/ao_exti_stm.c +++ b/src/stm32l0/ao_exti_stm.c @@ -24,7 +24,7 @@ static void (*ao_exti_callback[16])(void); uint32_t ao_last_exti; static void ao_exti_range_isr(uint8_t first, uint8_t last, uint16_t mask) { - uint16_t pending = (ao_last_exti = stm_exti.pr) & mask; + uint16_t pending = (uint16_t) (ao_last_exti = stm_exti.pr) & mask; uint8_t pin; static uint16_t last_mask; static uint8_t last_pin; @@ -50,7 +50,6 @@ void stm_exti15_4_isr(void) { ao_exti_range_isr(4, 15, 0xfff0); } void ao_exti_setup (struct stm_gpio *gpio, uint8_t pin, uint8_t mode, void (*callback)(void)) { uint32_t mask = 1 << pin; - uint32_t pupdr; uint8_t irq; uint8_t prio; @@ -59,7 +58,9 @@ ao_exti_setup (struct stm_gpio *gpio, uint8_t pin, uint8_t mode, void (*callback /* configure gpio to interrupt routing */ stm_exticr_set(gpio, pin); +#if 0 if (!(mode & AO_EXTI_PIN_NOCONFIGURE)) { + uint32_t pupdr; /* configure pin as input, setting selected pull-up/down mode */ stm_moder_set(gpio, pin, STM_MODER_INPUT); switch (mode & (AO_EXTI_MODE_PULL_UP|AO_EXTI_MODE_PULL_DOWN)) { @@ -76,6 +77,7 @@ ao_exti_setup (struct stm_gpio *gpio, uint8_t pin, uint8_t mode, void (*callback } stm_pupdr_set(gpio, pin, pupdr); } +#endif /* Set interrupt mask and rising/falling mode */ stm_exti.imr &= ~mask;