我想用一个按键产生一个中断,然后再中断中点亮一个指示灯
硬件接法是:P2.7端口接入一个按键,按下按键IO口为低电平然后写了以下的程序但是怎么都进入不了中断
首先是初始化使能按键中断该函数在periph_setup.c中执行periph_init(无效);时被调用
空隙app_sw1_button_enable(无效)
{
NVIC_DisableIRQ(GPIO2_IRQn);
GPIO_RegisterCallback(GPIO2_IRQn,sw1_callback_button_isr);
GPIO_EnableIRQ(GPIO_SW1_PORT,GPIO_SW1_PIN,GPIO2_IRQn,真实,真,10);
}
下面是回调函数
空隙sw1_callback_button_isr(无效)
{
NVIC_DisableIRQ(GPIO2_IRQn);//禁用此中断
GPIO_ResetIRQ(GPIO2_IRQn);//清除中断中断
GPIO_SetActive(GPIO_LD2_PORT,GPIO_LD2_PIN);//点亮LED灯
NVIC_ClearPendingIRQ(GPIO2_IRQn);//清除中断而禁用请求
NVIC_EnableIRQ(GPIO2_IRQn);//启用此中断
}
按键配置:
RESERVE_GPIO(SW1,GPIO_SW1_PORT,GPIO_SW1_PIN,PID_GPIO);
GPIO_ConfigurePin(GPIO_SW1_PORT,GPIO_SW1_PIN,INPUT_PULLUP,PID_GPIO,FALSE);
当我按下按键时,P2.7端口上出现了低电平,但是去无法进入中断进行回调
请教
设备:
你现在用的是GPIO中断,那么在睡眠下是不起作用的。如果需要实现按键的功能,建议参考SDK自带的app_button_enable函数
/ *睡眠模式* /
和#undef CFG_EXT_SLEEP
#undef cfg_deep_sleep.
在da14580_config.h文件中没有定义睡眠那么整个程序应该不会处于睡眠下吧再次请教你
是的