📄 halusbhif.lst
字号:
C51 COMPILER V8.01 HALUSBHIF 04/17/2008 09:46:28 PAGE 1
C51 COMPILER V8.01, COMPILATION OF MODULE HALUSBHIF
OBJECT MODULE PLACED IN .\Debug\halusbhif.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE usbhost\halusbhif.c LARGE OPTIMIZE(9,SIZE) NOINTPROMOTE INCDIR(.\common;.\e
-2prom;.\file;.\fmtx;.\ir;.\keyboard;.\lcm;.\led;.\main;.\matrixkey;.\mp3ctrl;.\sd;.\usbhost;.\include;.\lib) DEBUG OBJEC
-TEXTEND PRINT(.\Debug\halusbhif.lst) OBJECT(.\Debug\halusbhif.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: halusbif.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 //This file is the interface for usb host module.
20
21 #include "utiltypedef.h"
22 #include "va4010reg.h"
23 #include "common.h"
24 #include "halusbhost.h"
25 #include "halscsi.h"
26
27 #if 1
28 ///////////////////////////////////////////////////////////////////////////////////////////
29 #if 1
30 BYTE halUsbChkReg(void)
31 {
32 1 BYTE data ret = FALSE;
33 1
34 1 if(Ualarm & 0x04){ // device attachment detected
35 2 ret = TRUE;
36 2 }
37 1 Ualarm = Ualarm;
38 1 return ret;
39 1 }
40 #endif
41
42 BYTE halUsbCheck(void)
43 {
44 1 BYTE data ret = FALSE;
45 1
46 1 SieCtrl = 0x03; // apply bus power & reset SIE
47 1 DelayUs(200);
48 1 SieCtrl = 0x09; // enable SOF, otherwise device will sleep
49 1 TxEpnum = 0x00;
50 1 TxAddr = 0x00;
51 1 SieStat0 = INT_CLEAR;
52 1 SieStat1 = INT_CLEAR;
53 1 Alarm = INT_CLEAR;
C51 COMPILER V8.01 HALUSBHIF 04/17/2008 09:46:28 PAGE 2
54 1 Mp3Stat = INT_CLEAR;
55 1 AlarmEn = 0x02;
56 1 Ualarm = INT_CLEAR;
57 1
58 1 if(Ualarm & 0x04){ // device attachment detected
59 2 //Ualarm = Ualarm; //clear status
60 2 ret = TRUE;
61 2 }
62 1
63 1 //DelayMs(200);
64 1 //UartOutText("-I-: halUsbCheck() \r\n");
65 1
66 1 return ret;
67 1 }
68
69 BYTE halUsbInit(void)
70 {
71 1 BYTE data ret = FALSE;
72 1
73 1 if(halUsbCheck()){ // device attachment detected
74 2 Ualarm = INT_CLEAR;
75 2 if(Ualarm & 0x04){
76 3 DelayMs(100); // wait power stable
77 3 Ualarm = INT_CLEAR;
78 3 SieCtrl = 0x19; // set attached status
79 3 DelayMs(200); // wait more....
80 3
81 3 ret = TRUE;
82 3 UartOutText("USB device attatched \r\n");
83 3 }
84 2 }
85 1
86 1 return ret;
87 1 }
88 #else
BYTE halUsbCheck(void)
{
BYTE ret = FALSE;
if(Ualarm & 0x04){ // device attachment detected
ret = TRUE;
}
Ualarm = Ualarm;
return ret;
}
BYTE halUsbInit(void)
{
BYTE ret = FALSE;
SieCtrl = 0x03; // apply bus power & reset SIE
DelayUs(100);
SieCtrl = 0x09; // enable SOF, otherwise device will sleep
TxEpnum = 0x00;
TxAddr = 0x00;
SieStat0 = INT_CLEAR;
SieStat1 = INT_CLEAR;
Alarm = INT_CLEAR;
Mp3Stat = INT_CLEAR;
AlarmEn = 0x02;
Ualarm = INT_CLEAR;
C51 COMPILER V8.01 HALUSBHIF 04/17/2008 09:46:28 PAGE 3
if(Ualarm & 0x04){
DelayMs(100); // wait power stable
Ualarm = INT_CLEAR;
SieCtrl = 0x19; // set attached status
DelayMs(200); // wait more....
ret = TRUE;
UartOutText("USB device attatched \r\n");
}
return ret;
}
#endif
130
131 //Before call this function to enumerate the usb-disk,
132 //the halUsbCheck() should be called to check the attachment.
133 BYTE halUsbEnum(void)
134 {
135 1 //_halUsbInit();
136 1
137 1 _halUsbReset(); // bus reset
138 1
139 1 if(halUsbDevEnum() == FALSE){
140 2 UartOutText("USB Enumerate FAIL \r\n");
141 2 return FALSE;
142 2 }
143 1 UartOutText("USB Enumerate OK \r\n");
144 1
145 1 // if(EnumMassDev()){
146 1 EnumMassDev();
147 1 UartOutText("MSC Enumerate OK \r\n");
148 1 // }else{
149 1 // return FALSE;
150 1 // }
151 1
152 1 return TRUE;
153 1 }
154
155
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 148 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 3
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 + -