📄 haldevchk.lst
字号:
C51 COMPILER V8.01 HALDEVCHK 04/17/2008 09:54:47 PAGE 1
C51 COMPILER V8.01, COMPILATION OF MODULE HALDEVCHK
OBJECT MODULE PLACED IN .\Debug\haldevchk.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main\haldevchk.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;.\sd
-;.\usbhost;.\include;.\lib) DEBUG OBJECTEXTEND PRINT(.\Debug\haldevchk.lst) OBJECT(.\Debug\haldevchk.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: haldevchk.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
20 #include "haldevchk.h"
21 #include "libdrive.h"
22
23 /*static*/ BYTE data bDEVFlag;
24 /*static*/ BYTE DEVAttach[2] = {USB_ATTACHED, SD_ATTACHED};
25
26 #ifdef ENABLE_DEVICE_DETECT
27
28
29 static BYTE DEVDisattach[2] = {USB_DISATTACHED, SD_DISATTACHED};
30 static BYTE FSMSta[2] = {FSMSTATE_USB, FSMSTATE_SD};
31
32 //For DEV_CHECK_ANOTHER
33 //Return FALSE, if another device is disattached.
34 //Return TRUE, if another device is attached.
35 //For DEV_CHECK_CUR
36 //Return FALSE, if current device is disattached.
37 //Return TRUE, if current device is not disattached.
38 BYTE halDevCheck(BYTE bDev, BYTE bFlag) //Check if the other device is attached/disattached.
39 {
40 1 BYTE data bRet;
41 1
42 1 if(bFlag == DEV_CHECK_ANOTHER){
43 2 if((bDev==USB_DISK)){ //Current device is USB, check SD
44 3 bRet = halSDCheck();
45 3 //UartOutText("current USB,check SD\r\n");
46 3 }else{//Current device is SD, so check USB
47 3 //UartOutText("current SD,check USB\r\n");
48 3 bRet = halUsbCheck();
49 3 }
50 2
51 2 }else{ //DEV_CHECK_CUR
52 2 if((bDev==USB_DISK)){ //Current device is USB
53 3 bRet = halUsbChkReg();
C51 COMPILER V8.01 HALDEVCHK 04/17/2008 09:54:47 PAGE 2
54 3 }else{//Current device is SD
55 3 bRet = halSDCheck();
56 3 }
57 2
58 2 }
59 1
60 1 return bRet;
61 1 }
62
63
64 //This function can only be called when device is attached and enumerated.
65 void halDevPnP()
66 {
67 1 DRIVE *drv = DriveGet();
68 1
69 1 if(bgDevChkGap < DEV_CHECK_GAP){
70 2 return;
71 2 }
72 1 bgDevChkGap = 0;
73 1
74 1 if(mp3status == MP3STATUS_PAUSE){ //Check current device
75 2 #if 1
76 2 if(halDevCheck(drv->DevID, DEV_CHECK_CUR) == FALSE){
77 3 UartOutText("Current device removed\r\n");
78 3 FSMState = FSMSTATE_USB;
79 3 //FSMState = FSMSta[drv->DevID];
80 3 }
81 2 #endif
82 2 }
83 1 #if 1
84 1 else{
85 2 //Chech the dis-attachment of another device
86 2 if(halDevCheck(drv->DevID, DEV_CHECK_ANOTHER) == FALSE){ //Check the another device according to the cur
-rent device
87 3 //UartOutText("-I-: Another Dev Disattached \r\n");
88 3 bDEVFlag = DEVDisattach[drv->DevID];
89 3 }
90 2 //Check the attachment of another device after dis-attachment
91 2 if((bDEVFlag == DEVDisattach[drv->DevID])&&(halDevCheck(drv->DevID, DEV_CHECK_ANOTHER) == TRUE)){
92 3 FSMState = FSMSta[drv->DevID];
93 3 //bDEVFlag = DEVAttach[drv->DevID];;
94 3 UartOutText("-I-: Another Dev attached \r\n");
95 3 //drv = NULL;
96 3 }
97 2 }
98 1 #endif
99 1 return;
100 1 }
101
102 #endif
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 157 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = 6 4
PDATA SIZE = ---- ----
DATA SIZE = 1 1
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -