📄 halkey.lst
字号:
C51 COMPILER V8.01 HALKEY 04/17/2008 09:54:36 PAGE 1
C51 COMPILER V8.01, COMPILATION OF MODULE HALKEY
OBJECT MODULE PLACED IN .\Debug\halkey.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE keyboard\halkey.c LARGE OPTIMIZE(9,SIZE) REGFILE(.\Debug\VA4010_SDK_V2.ORC)
- BROWSE NOINTPROMOTE INCDIR(.\common;.\e2prom;.\file;.\fmtx;.\ir;.\keyboard;.\lcm;.\led;.\main;.\matrixkey;.\mp3ctrl;.\s
-d;.\usbhost;.\include;.\lib) DEBUG OBJECTEXTEND PRINT(.\Debug\halkey.lst) OBJECT(.\Debug\halkey.obj)
line level source
1 /****************************************************************
2 * Viaon Technology (Suzhou) Co.,Ltd
3 *
4 * Copyright 2007, Viaon Technology (Suzhou) Co.,Ltd,Suzhou,China
5 * All rights reserved.
6 *
7 *
8 * Filename: halmatrixkey.c
9 *
10 * Programmer: Greg
11 *
12 * Created: 1/2/2008
13 *
14 * Description: public functions
15 *
16 *
17 * Change History (most recent first): 2008.1.2
18 ****************************************************************/
19 //Key Scan through GPIO pins.
20 #include "utiltypedef.h"
21 #include "va4010reg.h"
22 #include "common.h"
23 #include "halkey.h"
24
25 extern volatile BYTE data byGap;
26 extern volatile BYTE data SongLocateTick;
27 BOOL data IsJumpFlag = FALSE;
28 static BYTE data gbyKeyFSM = KEY_FSM_IDLE;
29 void halKeyFSM(void)
30 {
31 1 //#if (DIGITAL_SHOW==DIGITAL_SHOW_DLED)
32 1
33 1 #if(BOARD_ID == EVB_V1)
//#if 0
KEY_IN_ENABLE();
// KEY_PULL_UP();
switch(gbyKeyFSM){
case KEY_FSM_IDLE:{
byGap = 0; //reset gap counter
if(KEY_Stop == 0){ //key down
gbyKeyFSM = KEY_FSM_STOP;
}else if(KEY_FsVu == 0){
gbyKeyFSM = KEY_FSM_FSVU;
}else if(KEY_RsVd == 0){
gbyKeyFSM = KEY_FSM_RSVD;
}else if(KEY_PlayPause == 0){
gbyKeyFSM = KEY_FSM_PLAYPAUSE;
}
break;
}
C51 COMPILER V8.01 HALKEY 04/17/2008 09:54:36 PAGE 2
case KEY_FSM_STOP:{
if(KEY_Stop == 0){
break; //FSM state not change
}
//key up
gbyKeyFSM = KEY_FSM_IDLE;
if(byGap >=KEY_STABLE_CNT){ // A valid key press
//UartOutText("-I-: KEY_FSM_FMCH \r\n");
keystatus = KEY_STATUS_STOP;
}
break;
}
case KEY_FSM_FSVU:{
if(KEY_FsVu == 0){
#if 0
if(byGap>KEY_STABLE_2S){
//UartOutText("-I-: KEY_FSM_FSVU 2S \r\n");
//gbyKeyFSM = KEY_FSM_FSVU_2S;
keystatus = KEY_STATUS_VOLUP;
byGap = KEY_STABLE_2S -KEY_SAMPLE_CNT; //byGap = 0;
}
#endif
break; //FSM state not change
}
gbyKeyFSM = KEY_FSM_IDLE;
if(byGap >=KEY_STABLE_CNT){
UartOutText("-I-: KEY_FSM_FSVU \r\n");
keystatus = KEY_STATUS_FSEEK;
IsJumpFlag = TRUE;
SongLocateTick = 0;
}
break;
}
case KEY_FSM_RSVD:{
if(KEY_RsVd == 0){
#if 0
if(byGap>KEY_STABLE_2S){
//UartOutText("-I-: KEY_FSM_FSVU 2S \r\n");
//gbyKeyFSM = KEY_FSM_RSVD_2S;
keystatus = KEY_STATUS_VOLDOWN;
byGap = KEY_STABLE_2S -KEY_SAMPLE_CNT; //byGap = 0;
}
#endif
break; //FSM state not change
}
gbyKeyFSM = KEY_FSM_IDLE;
if(byGap >=KEY_STABLE_CNT){
//UartOutText("-I-: KEY_FSM_RSVD \r\n");
keystatus = KEY_STATUS_RSEEK;
IsJumpFlag = TRUE;
SongLocateTick = 0;
}
break;
}
C51 COMPILER V8.01 HALKEY 04/17/2008 09:54:36 PAGE 3
case KEY_FSM_PLAYPAUSE:{
if(KEY_PlayPause == 0){
break; //FSM state not change
}
gbyKeyFSM = KEY_FSM_IDLE;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -