Files
RCU_C12_Dimming/key.h

50 lines
1018 B
C
Raw Normal View History

#ifndef KEY_H
#define KEY_H
#include "STC8xxxx.h"
#define DELAY_TIME 10
#define KEY_DELAY_COUNT 2
#define KEY_DELAY_COUNT_LONG 100
#define KEY_PRESS 0
#define KEY_LOOSEN 1
typedef enum
{
KEY_CH1,
KEY_CHN_MAX,
}KEY_CHN_e;
typedef enum
{
KEY_STA_S0 = 0,
KEY_STA_S1 = 1,
KEY_STA_S2 = 2,
}KEY_STA_e;
typedef enum
{
KEY_VAL_NOT, //û<><C3BB><EFBFBD><EFBFBD>
KEY_VAL_SHORT_PRESS, //<2F><><EFBFBD><EFBFBD>
KEY_VAL_CONT_LONG_PRESS, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
KEY_VAL_SINGLE_LONG_PRESS, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
KEY_VAL_LONG_PRESS_LOOSEN, //<2F><><EFBFBD><EFBFBD><EFBFBD>ɿ<EFBFBD>
}KEY_VAL_e;
typedef struct
{
u8 Key_pin[KEY_CHN_MAX];
u8 KEY_STA[KEY_CHN_MAX];
u8 key_val[KEY_CHN_MAX]; //0:û<><C3BB><EFBFBD><EFBFBD>, 1:<3A>̰<EFBFBD><CCB0>ɿ<EFBFBD>, 2:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, 3:<3A><><EFBFBD><EFBFBD><EFBFBD>ɿ<EFBFBD>
u8 key_longPress[KEY_CHN_MAX]; //0:û<><C3BB><EFBFBD><EFBFBD>, 1:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
u8 key_time[KEY_CHN_MAX];
u8 delayCnt[KEY_CHN_MAX];
}KEY_t;
void Key_Init(void);
void Key_ScanTask(void);
void KEY_TEST(void);
extern KEY_t g_Key;
#endif