Example Code

Add to application C-file:
static void eic_callback(void)
{
    /* Check if EIC push button line interrupt line is pending. */
    if (eic_line_interrupt_is_pending(EIC, GPIO_PUSH_BUTTON_EIC_LINE)) {
        eic_line_clear_interrupt(EIC, GPIO_PUSH_BUTTON_EIC_LINE);
        bToggle = 1;
    }
}

static void eic_setup(void)
{
    eic_enable(EIC);

    struct eic_line_config eic_line_conf;
    eic_line_conf.eic_mode = EIC_MODE_EDGE_TRIGGERED;
    eic_line_conf.eic_edge = EIC_EDGE_FALLING_EDGE;
    eic_line_conf.eic_level = EIC_LEVEL_LOW_LEVEL;
    eic_line_conf.eic_filter = EIC_FILTER_DISABLED;
    eic_line_conf.eic_async = EIC_ASYNCH_MODE;

    eic_line_set_config(EIC, GPIO_PUSH_BUTTON_EIC_LINE, &eic_line_conf);
    
    eic_line_set_callback(EIC, GPIO_PUSH_BUTTON_EIC_LINE, eic_callback,
    GPIO_PUSH_BUTTON_EIC_IRQ, 1);
    
    eic_line_enable(EIC, GPIO_PUSH_BUTTON_EIC_LINE);
}