📄 interruptusb.lst
字号:
C51 COMPILER V7.50 INTERRUPTUSB 05/25/2008 18:12:26 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE INTERRUPTUSB
OBJECT MODULE PLACED IN ..\Lib\InterruptUSB.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE InterruptUSB.c LARGE DEBUG OBJECTEXTEND OBJECT(..\Lib\InterruptUSB.obj)
line level source
1 #ifndef _USB_DEFINE
2 #include "USB.c"
*** ERROR C230 IN LINE 238 OF USB.H: 'USBBufferStr': unknown struct/union/enum tag
*** ERROR C204 IN LINE 238 OF USB.H: 'In': undefined member
3 #endif
4
5 void InterruptUSB(void) interrupt 13
6 {
7 1 register BYTE USBIntFlag,UEPIntFlag;
8 1
9 1 USB_DISABLE_INT_USB; //禁止USB中断
*** ERROR C202 IN LINE 9 OF INTERRUPTUSB.C: 'USB_DISABLE_INT_USB': undefined identifier
10 1
11 1 USBIntFlag=USBINT&USBIEN;
12 1 UEPIntFlag=UEPINT&UEPIEN;
13 1
14 1 // printf("STAX:%02bx,CONX:%02bx,USB:%02bx,UEP:%02bx\n",UEPSTAX,UEPCONX,USBIntFlag,UEPIntFlag);
15 1 if (USBIntFlag&USB_INT_EORINT)
*** ERROR C202 IN LINE 15 OF INTERRUPTUSB.C: 'USB_INT_EORINT': undefined identifier
16 1 {
17 2 // printf("EORINT \n");
18 2 USBADDR = 0x80; //enable function
19 2 USBCON = 0x80;
20 2 // USBIEN=0x39; //开全局中断
21 2 UEPIEN=0x07;
22 2 CLEAR_BIT_4(USBINT); //清中断标志
23 2 }
24 1
25 1 if (USBIntFlag&USB_INT_SPINT) //挂起中断
*** ERROR C202 IN LINE 25 OF INTERRUPTUSB.C: 'USB_INT_SPINT': undefined identifier
26 1 {
27 2 // printf("SPINT \n");
28 2 SET_BIT_6(USBCON); //停USB时钟
29 2 CLEAR_BIT_0(USBINT); //清中断标志
30 2 }
31 1
32 1 if (USBIntFlag&USB_INT_WUPCPU) //CPU唤醒中断
*** ERROR C202 IN LINE 32 OF INTERRUPTUSB.C: 'USB_INT_WUPCPU': undefined identifier
33 1 {
34 2 // printf("WUPCPU \n");
35 2 CLEAR_BIT_6(USBCON); //启动USB时钟
36 2 CLEAR_BIT_0(USBINT); //清SPINT中断标志
37 2 CLEAR_BIT_5(USBINT); //清WUPCPU中断标志
38 2 }
39 1
40 1 if (USBIntFlag&USB_INT_SOFINT) //帧同步中断
*** ERROR C202 IN LINE 40 OF INTERRUPTUSB.C: 'USB_INT_SOFINT': undefined identifier
41 1 {
42 2 // printf("SOFINT \n");
43 2 CLEAR_BIT_3(USBINT); //清中断标志
44 2 }
45 1
46 1 if (UEPIntFlag&USB_INT_EP0) //EndPoint0 中断
*** ERROR C202 IN LINE 46 OF INTERRUPTUSB.C: 'USB_INT_EP0': undefined identifier
47 1 {
C51 COMPILER V7.50 INTERRUPTUSB 05/25/2008 18:12:26 PAGE 2
48 2 UEPNUM=0x00;
49 2 // printf("Endpoint 0 Interrupt UEPSTAX:%02bx\n",UEPSTAX);
50 2 if (UEPSTAX&USB_INT_RXSETUP) //setup packet
*** ERROR C202 IN LINE 50 OF INTERRUPTUSB.C: 'USB_INT_RXSETUP': undefined identifier
51 2 {
52 3 // printf("Receive Setup packet:%02bx",USBSetup->bRequest);
53 3 USBEP0ReadPacket();
54 3 CLEAR_BIT_2(UEPSTAX); //清除RXSETUP
55 3 if (USBSetup->bRequest<0x0d) //处理请求
56 3 {
57 4 (*StandardRequest[USBSetup->bRequest])();
58 4 }
59 3 else
60 3 {
61 4 // printf("stall\n");
62 4 USB_SEND_STALL_PACKET;
63 4 }
64 3 CLEAR_BIT_4(UEPCONX); //清除NAKIN
65 3 }
66 2 if (UEPSTAX&USB_INT_RXOUTB0)
67 2 {
68 3 // printf(" RXOUTB0 ");
69 3 USBEP0ReadPacket();
70 3 CLEAR_BIT_1(UEPSTAX);
71 3 }
72 2 if (UEPSTAX&USB_INT_RXOUTB1)
73 2 {
74 3 // printf(" RXOUTB1 ");
75 3 USBEP0ReadPacket();
76 3 CLEAR_BIT_6(UEPSTAX);
77 3 }
78 2 if (UEPCONX&USB_INT_NAKOUT)
79 2 {
80 3 // printf(" NAKOUT ");
81 3 CLEAR_BIT_5(UEPCONX);
82 3 }
83 2 if (UEPCONX&USB_INT_NAKIN)
84 2 {
85 3 // printf(" NAKIN ");
86 3 CLEAR_BIT_4(UEPCONX);
87 3 }
88 2 if (UEPSTAX&USB_INT_STLCRC)
89 2 {
90 3 // printf(" STALCRC%02bx",UEPSTAX);
91 3 // CLEAR_BIT_5(UEPSTAX);
92 3 CLEAR_BIT_3(UEPSTAX);
93 3 }
94 2 if (UEPSTAX&USB_INT_TXCMP)
95 2 {
96 3 // printf(" TXCMP ");
97 3 CLEAR_BIT_0(UEPSTAX);
98 3 }
99 2 EP0INT=0;
100 2 }
101 1
102 1 if (UEPIntFlag&USB_INT_EP1) //端点1
103 1 {
104 2 // printf("Endpoint 1 Interrupt\n");
105 2 UEPNUM=0x01;
106 2 if (UEPSTAX&USB_INT_RXOUTB0)
107 2 {
108 3 // printf(" RXOUTB0 ");
C51 COMPILER V7.50 INTERRUPTUSB 05/25/2008 18:12:26 PAGE 3
109 3 USBEP1ReadPacket();
110 3 CLEAR_BIT_1(UEPSTAX);
111 3 SCSICBWProcess();
112 3 }
113 2 if (UEPSTAX&USB_INT_RXOUTB1)
114 2 {
115 3 // printf(" RXOUTB1 ");
116 3 USBEP1ReadPacket();
117 3 CLEAR_BIT_6(UEPSTAX);
118 3 SCSICBWProcess();
119 3 }
120 2 if (UEPCONX&USB_INT_NAKOUT)
121 2 {
122 3 // printf(" NAKOUT ");
123 3 CLEAR_BIT_5(UEPCONX);
124 3 }
125 2 if (UEPCONX&USB_INT_NAKIN)
126 2 {
127 3 // printf(" NAKIN ");
128 3 CLEAR_BIT_4(UEPCONX);
129 3 }
130 2 if (UEPSTAX&USB_INT_STLCRC)
131 2 {
132 3 // printf(" STALCRC%02bx",UEPSTAX);
133 3 // CLEAR_BIT_5(UEPSTAX);
134 3 CLEAR_BIT_3(UEPSTAX);
135 3 }
136 2 if (UEPSTAX&USB_INT_TXCMP)
137 2 {
138 3 // printf(" TXCMP ");
139 3 CLEAR_BIT_0(UEPSTAX);
140 3 }
141 2 }
142 1
143 1 if (UEPIntFlag&USB_INT_EP2)
144 1 {
145 2 // printf("Endpoint 2 Interrupt\n");
146 2 UEPNUM=0x02;
147 2 if (UEPSTAX&USB_INT_RXOUTB0)
148 2 {
149 3 // printf(" RXOUTB0 ");
150 3 USBEP1ReadPacket();
151 3 CLEAR_BIT_1(UEPSTAX);
152 3 }
153 2 if (UEPSTAX&USB_INT_RXOUTB1)
154 2 {
155 3 // printf(" RXOUTB1 ");
156 3 USBEP1ReadPacket();
157 3 CLEAR_BIT_6(UEPSTAX);
158 3 }
159 2 if (UEPCONX&USB_INT_NAKOUT)
160 2 {
161 3 // printf(" NAKOUT ");
162 3 CLEAR_BIT_5(UEPCONX);
163 3 }
164 2 if (UEPCONX&USB_INT_NAKIN)
165 2 {
166 3 // printf(" NAKIN ");
167 3 CLEAR_BIT_4(UEPCONX);
168 3 }
169 2 if (UEPSTAX&USB_INT_STLCRC)
170 2 {
C51 COMPILER V7.50 INTERRUPTUSB 05/25/2008 18:12:26 PAGE 4
171 3 // printf(" STALCRC%02bx",UEPSTAX);
172 3 // CLEAR_BIT_5(UEPSTAX);
173 3 CLEAR_BIT_3(UEPSTAX);
174 3 }
175 2 if (UEPSTAX&USB_INT_TXCMP)
176 2 {
177 3 // printf(" TXCMP ");
178 3 CLEAR_BIT_0(UEPSTAX);
179 3 }
180 2 EP2INT=0;
181 2 }
182 1
183 1 USB_ENABLE_INT_USB; //启动USB中断
184 1 }
185
C51 COMPILATION COMPLETE. 0 WARNING(S), 9 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -