diff --git a/lib/sensor_as3935.c b/lib/sensor_as3935.c index 5f66f95..cbf8c06 100644 --- a/lib/sensor_as3935.c +++ b/lib/sensor_as3935.c @@ -418,7 +418,7 @@ bool sensor_as3935_setup(void) sensor_as3935_power_down(); // power down to save power rcc_periph_clock_enable(RCC_AFIO); // enable alternate function clock for external interrupt // configure IRQ interrupt - exti_select_source(GPIO_EXTI(SENSOR_AS3935_GPIO_IRQ), GPIO_PIN(SENSOR_AS3935_GPIO_IRQ)); // mask external interrupt of the IRQ pin only for this port + exti_select_source(GPIO_EXTI(SENSOR_AS3935_GPIO_IRQ), GPIO_PORT(SENSOR_AS3935_GPIO_IRQ)); // mask external interrupt of the IRQ pin only for this port exti_set_trigger(GPIO_EXTI(SENSOR_AS3935_GPIO_IRQ), EXTI_TRIGGER_RISING); // IRQ goes high in interrupt exti_enable_request(GPIO_EXTI(SENSOR_AS3935_GPIO_IRQ)); // enable external interrupt nvic_enable_irq(GPIO_NVIC_EXTI_IRQ(SENSOR_AS3935_GPIO_IRQ)); // enable interrupt @@ -549,11 +549,10 @@ bool sensor_as3935_tune(void) /** interrupt service routine called when IRQ does high to indicate interrupt (or clock outputs) */ void GPIO_EXTI_ISR(SENSOR_AS3935_GPIO_IRQ)(void) { - exti_reset_request(GPIO_EXTI(SENSOR_AS3935_GPIO_IRQ)); // reset interrupt if (sensor_as3935_calibrating) { sensor_as3935_interrupt_count++; // increment pulse count to calculate to frequency } else { sensor_as3935_interrupt = true; // notify user } - + exti_reset_request(GPIO_EXTI(SENSOR_AS3935_GPIO_IRQ)); // reset interrupt }