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: PAN262xb1_evb
LED: 将 P1_2 引脚与 RGB 灯的蓝色通道(RGB-B)引脚相连
通过不断拉低P3_2/P3_3引脚的方法来触发中断
4 演示说明¶
根据环境要求一节的介绍,正确连接 EVB 开发板的跳线,编译下载代码后:
断开PAN262x P3_2与烧写器的跳帽(J21的CLK跳帽)
用杜邦线一端连接PAN262x P3_2,另一端轻点一下GND再断开, P3_2 INT0中断会点亮和熄灭blue led
用杜邦线一端连接PAN262x P3_3,另一端轻点一下GND再断开, P3_3 INT1中断会点亮和熄灭blue led
演示完毕后,重新连接PAN262x P3_2与烧写器的跳帽(J21的CLK跳帽),然后按下 PAN262x 复位按键后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