专家您好,我最近调试TI的EK-LM4F120xl launchpad 板卡时发现,板载的两个机械按键SW1和SW2配置后,只有SW1可用!SW2无反应(不进入中断),这是什么原因呢?我的源码是:
#if BSP_KEY_EN>0 // 按键所在管脚为PF0和PF4
#define KEY_SYSCTL SYSCTL_PERIPH_GPIOF /* System control of KEY */
#define KEY_GPIO_PORT GPIO_PORTF_BASE /* IO port of KEY */
#define KEY_1_PIN GPIO_PIN_4 /* Pin number of KEY */
#define KEY_2_PIN GPIO_PIN_0 /* Pin number of KEY */
#endif
void GPIO_KEY_Init() { //配置按键 PF4-SW1 ;PF0-SW2
ROM_SysCtlPeripheralEnable(KEY_SYSCTL);
ROM_GPIOPinTypeGPIOInput(KEY_GPIO_PORT,KEY_1_PIN | KEY_2_PIN);
ROM_GPIOPadConfigSet(KEY_GPIO_PORT,KEY_1_PIN | KEY_2_PIN,GPIO_STRENGTH_2MA,GPIO_PIN_TYPE_STD_WPU);
ROM_GPIOIntTypeSet(KEY_GPIO_PORT,KEY_1_PIN | KEY_2_PIN,GPIO_FALLING_EDGE);
ROM_GPIOPinIntEnable(KEY_GPIO_PORT,KEY_1_PIN | KEY_2_PIN ); ROM_IntEnable(INT_GPIOF);
}
总中断在主函数也打开了 ROM_IntMasterEnable(); //开总中断
可是,按键只有SW1起到作用,SW2无反应;用示波器看, 按下SW2后有跳变电平,但是管脚PF0好像捕获不到,不进中断。换过一块新板卡也是没反应。
我查看原理图后发现,SW2除了链接到PF0管脚外,还连接到了wake唤醒管脚,难道是这个原因导致其基本按键功能无反应? 可以用软件办法解决吗?
