GPIO - interrupt
本 demo 主要介绍 GPIO 0 的同步低电平中断类型。
硬件连接
将 GPIO 0 和 GND 连接。
软件实现
更详细的代码请参考 examples/peripherals/gpio/gpio_interrupt
1board_init();
board_init
中开启时钟
1gpio = bflb_device_get_by_name("gpio");
2
3bflb_gpio_int_init(gpio, GPIO_PIN_0, GPIO_INT_TRIG_MODE_SYNC_LOW_LEVEL);
设置 GPIO 0 的中断类型。
1bflb_gpio_int_mask(gpio, GPIO_PIN_0, false);
2
3bflb_irq_attach(gpio->irq_num, gpio_isr, gpio);
4bflb_irq_enable(gpio->irq_num);
bflb_gpio_int_mask(gpio, GPIO_PIN_0, false)
打开 GPIO 0 中断bflb_irq_attach(gpio->irq_num, gpio_isr, gpio)
注册 GPIO 中断函数bflb_irq_enable(gpio->irq_num)
使能 GPIO 中断
编译和烧录
参考 环境搭建
实验现象
将 GPIO 0 引脚电平拉低,进入中断并打印中断次数。