kw38点灯大师2_GPIO中断
kw38点灯大师2_GPIO中断
frdmkw38_gpio_led_output 工程 frdmkw38_gpio_input_interrupt 工程
主函数
1 | int main(void) |
中断处理函数
1 | void BOARD_SW2_IRQ_HANDLER() |
预定义
1 |
总结GPIO中断的流程
- 变量flag
volatile bool g_ButtonPress = false;
指示是否按下开关 - 中断处理函数
void BOARD_SW2_IRQ_HANDLER()
- 先清空外部中断,
GPIO_PortClearInterruptFlags(BOARD_SW2_GPIO, 1U << BOARD_SW2_GPIO_PIN);
- 再对flag置一,表示中断已经发生;
- 之后,它会进入到main的while循环里面的
if(g_ButtonPress)
;
- 先清空外部中断,
- main函数里面初始化板子之后,要初始化SW的GPIO;
- 中断config设置
GPIO_SetPinInterruptConfig(BOARD_SW2_GPIO, BOARD_SW2_GPIO_PIN, kGPIO_InterruptFallingEdge);
; - GPIO_PinInit
GPIO_PinInit(BOARD_SW2_GPIO, BOARD_SW2_GPIO_PIN, &sw_config);
- 中断config设置
- 然后
EnableIRQ(BOARD_SW2_IRQ);
kw38点灯大师2_GPIO中断
https://dustofstars.github.io/NXP/KW38/GPIO中断/kw38点灯大师2-gpio中断/