as3935: fix IRQ setup
This commit is contained in:
parent
3ab6ea2602
commit
57c7bb0bd6
|
@ -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
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue