#include "hal_key.h" #include "mod_key.h" #include "sys_timer.h" #include "sys_log.h" #include "button.h" #include "hal_key.h" #define CHECK_KEY_TIMER_TICK 50 Button_t Button1; static uint8_t g_s_press_flag; key_long_press_callback_fp g_s_key_press_callback; // static void Btn1_Press_Callback(void) // { // DLOG_I("Btn1_Press_Callback"); // } static void Btn1_Long_Callback(void* params) { if(g_s_press_flag == 0) { g_s_press_flag = 1; g_s_key_press_callback(); } } static void Btn1_Longfree_Callback(void* params) { g_s_press_flag = 0; } static void check_key_status_timer_callback(void) { Button_Process(); //��Ҫ���ڵ��ð����������� } void MOD_KeyInit(key_long_press_callback_fp fp) { g_s_key_press_callback = fp; HAL_KeyInit(); Button_Create("Button1", &Button1, HAL_KeyGetStatus, KEY_PRESS_STATUS); //���Ϊ��ȡ������ƽ�ӿ�,��������ʱ��ƽ״̬ // Button_Attach(&Button1, BUTTON_DOWM, Btn1_Press_Callback); //���� Button_Attach(&Button1, BUTTON_LONG, Btn1_Long_Callback); //���� Button_Attach(&Button1, BUTTON_LONG_FREE, Btn1_Longfree_Callback); //�����ͷ� Get_Button_Event(&Button1); HAL_TimerRegister(check_key_status_timer_callback, CHECK_KEY_TIMER_TICK); }