C
Qt Quick Ultralite interrupt_handler Example
// Copyright (C) 2024 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial
// Note: the following headers are written in C, they must be included in .c file to avoid compile errors
#include "board.h"
#include "fsl_gpio.h"
#include "fsl_common.h"
void userButtonCallback(void);
void nxpConfig(void)
{
const gpio_pin_config_t sw_config = {
kGPIO_DigitalInput,
0,
kGPIO_IntRisingEdge,
};
const status_t status = EnableIRQ(BOARD_USER_BUTTON_IRQ);
if (status != kStatus_Fail) {
GPIO_PinInit(BOARD_USER_BUTTON_GPIO, BOARD_USER_BUTTON_GPIO_PIN, &sw_config);
GPIO_PortEnableInterrupts(BOARD_USER_BUTTON_GPIO, 1U << BOARD_USER_BUTTON_GPIO_PIN);
}
}
void BOARD_USER_BUTTON_IRQ_HANDLER(void)
{
GPIO_PortClearInterruptFlags(BOARD_USER_BUTTON_GPIO, 1U << BOARD_USER_BUTTON_GPIO_PIN);
userButtonCallback();
}