一、先看下原始代码流程,按键1中断进入函数:
void usr_button1_cb(void)
{ ke_evt_set(1UL << EVENT_BUTTON1_PRESS_ID);
}
建立事件 EVENT_BUTTON1_PRESS_ID
而在事件初始化里定义了EVENT_BUTTON1_PRESS_ID 对应的函数是app_event_button1_press_handler:
if(KE_EVENT_OK != ke_evt_callback_set(EVENT_BUTTON1_PRESS_ID,
app_event_button1_press_handler))
{
ASSERT_ERR(0);
}
所以按键1的处理函数是app_event_button1_press_handler
void app_event_button1_press_handler(void)
{
#if ((QN_DEEP_SLEEP_EN) && (!QN_32K_RCO))
if (sleep_env.deep_sleep)
{
sleep_env.deep_sleep = false;
// start 32k xtal wakeup timer
wakeup_32k_xtal_start_timer();
}
#endif
// delay 20ms to debounce
ke_timer_set(APP_SYS_BUTTON_1_TIMER, TASK_APP