/* ****************************************************************************** * * @file key.c * @brief key module * * * @version 1.0 * @date 2022/08/04 15:00:40 * @author Alex Xu * * Copyright (c) 2013-2099,Tkplusemi Technology Co.,Ltd. * All Rights Reserved * * History: * Revision Date Author Desc * 1.0.0 2022/08/04 Alex build this file ******************************************************************************/ /*_____ I N C L U D E S ____________________________________________________*/ #include "key.h" #include "system.h" #include "led.h" #include "sleep.h" #include "adc.h" #include "bat.h" #include "vox_module.h" #if 1 /******************************************************************************\ Macro definitions \******************************************************************************/ /******************************************************************************\ Variables definitions \******************************************************************************/ bit Key_Press_short_irq = 0; bit Key_Press_l_irq = 0; bit Key_Press_ll_irq = 0; bit Key_l_Flag = 0; idata KEY_EVENT_E Event_key = 0; /******************************************************************************\ Functions definitions \******************************************************************************/ /* ******************************************************************************* * void Key_Init(void) * * Description : Hey Initialization * * Arguments : * Returns : * Notes : * ******************************************************************************* */ #if 0 void Key_Init(void) { SFRADDR = MFP_CTL1; //Set P05 as key Function SFRDATA &= ~0x3C; SFRDATA |= 0x14; SFRADDR = PMU_CTL0; SFRDATA |= 0x02; //Key Detect Enable //KEY_CTL = 0x04; //Set all of the functions about KEY are enable. } #endif /* ******************************************************************************* * void Key_Handler(void) * * Description : Key Handler --- 主循环中调用,调用周期5ms。其中长按(按键时间大于2s)需要判断抬键动作才触发。 CoverStatus --- 充电仓盖子状态。(本函数提供对应Key事件标志位,后续应用待定) * * Arguments : NONE * Returns : NONE * Notes : NONE * ******************************************************************************* */ void Key_Handler(void) { if( Key_l_Flag ) { Key_Press_l_irq = 0; Key_l_Flag = 0; /*todo*/ Event_key = KEY_EVENT_L_2S; /*耳机配对*/ #ifdef _DEBUG_KEY printf("long press\r\n"); #endif } if( Key_Press_ll_irq ) { Key_Press_ll_irq = 0; /*todo*/ Event_key = KEY_EVENT_LL_8S; // Decnt_SleepDelay = ENTER_STANDBYMODE_CNT; #ifdef _DEBUG_KEY printf("supper long press\r\n"); #endif } if( Key_Press_short_irq ) { Key_Press_short_irq = 0; /*todo*/ Event_key = KEY_EVENT_SHORT; #ifdef _DEBUG_KEY printf("short press\r\n"); #endif } } #endif