当前文档版本为 v0.3.0,您可以访问当前页面的 开发中 版本以获取最近可能的更新。

gpio irq例程

1 功能概述

gpio irq是一个演示 EVB P3_2(INT0)/P3_3(INT1)下降沿中断功能的简单例程,通过将 EVB P3_2/P3_3引脚配置为 GPIO 检测中断输入&上拉模式,实时检测P3_2/P3_3的状态,当有下降沿中断时,通过 GPIO P1_2 输出控制 LED0 的亮灭。

2 环境要求

  • Board: PAN2628b1_evb

  • LED: 将 P1_2 引脚与 RGB 灯的蓝色通道(RGB-B)引脚相连

  • 通过不断拉低P3_2/P3_3引脚的方法来触发中断

3 编译和烧录

例程位置:pan2628_dk\01_SDK\example_basic\gpio\gpio irq

打开目录下keil下的gpio_irq.uvprojx工程,编译整个代码工程。

4 演示说明

根据环境要求一节的介绍,正确连接 EVB 开发板的跳线,编译下载代码后:

  1. 断开PAN2628 P3_2与烧写器的跳帽(J21的CLK跳帽)

  2. 用杜邦线一端连接PAN2628 P3_2,另一端轻点一下GND再断开, P3_2 INT0中断会点亮和熄灭blue led

  3. 用杜邦线一端连接PAN2628 P3_3,另一端轻点一下GND再断开, P3_3 INT1中断会点亮和熄灭blue led

  4. 演示完毕后,重新连接PAN2628 P3_2与烧写器的跳帽(J21的CLK跳帽),然后按下 PAN2628 复位按键后2秒内再烧写其它工程代码(P3_2默认为C2的CLK引脚)。

5 开发说明

通过调用 gpio.c 的GPIO_Init, GPIO_ExtIntConfig(),GPIO_EnableDbc()三个接口分别配置GPIO的工作模式、中断方式和电平滤波时间。

/** Config P3_2 to INT0 Mode */
GPIO_Init(GPIO_P32, GPIO_P32_MUX_INT0, GPIO_MODE_INPUT, GPIO_PULLUP);
GPIO_ExtIntConfig(GPIO_INT0, GPIO_TriggerFalling);
GPIO_EnableDbc(GPIO_INT0, 0x40);
    
/**  Config P3_3 to INT1 Mode */
GPIO_Init(GPIO_P33,GPIO_P33_MUX_INT1, GPIO_MODE_INPUT, GPIO_PULLUP);
GPIO_ExtIntConfig(GPIO_INT1, GPIO_TriggerFalling);
GPIO_EnableDbc(GPIO_INT1, 0x40);

6 RAM/Flash资源使用情况

Program Size: data=9.0 xdata=5 const=0 code=923