This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

GPIO interrupt after wake up

Hello

My custom board has only 1 button and I'm trying to detect 3 button clicks. The first click is waking up the device and the other 2 are configured as BSP_EVENT_KEY_0.  I noticed people pushes the button between 0.2s to 0.4s after each click and the nRF52832 is not detecting the second click and the button has to be pressed a 4th time.

The IRQ prority is already at 2. I´m not sure if I should put it higher. My guess is that something in the main has higher priority and it is ignoring the bsp event

The only problem i have is when the device is sleeping. When the device is advertising the interruptions work fine. Any idea what is happening?

Here is my main, 

 

int main(void)
 {
    bool       wakeup;

    ret_code_t err_code;

    log_init();

    // Initialize the async SVCI interface to bootloader before any interrupts are enabled.
    err_code = ble_dfu_buttonless_async_svci_init();
    APP_ERROR_CHECK(err_code);

    timers_init();
    buttons_leds_init(&wakeup);
    my_fstorage_init();
    if(wakeup)
    {
        timer_counter();
    }
    power_management_init();
    fstorage_read(0x66C00,4);
    
    ble_stack_init();
    peer_manager_init();
    gap_params_init();
    gatt_init();
    services_init(); 
    conn_params_init();
    advertising_init();
    
    //saadc init
    saadc_init();
    saadc_sampling_event_init();
    saadc_sampling_event_enable();
    
    adv_init_and_start();

    NRF_LOG_INFO("GWi DFU Application started.");
    // Enter main loop.
    for (;;)
    {
        idle_state_handle();
    }
}

SDK15.2

nrf52832 custom board

nrf52DK

windows 10

segger v4.16

Related