📄 chap9.lst
字号:
C51 COMPILER V8.02 CHAP9 08/03/2006 10:10:36 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE CHAP9
OBJECT MODULE PLACED IN .\CHAP9.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ..\Firmware\Firmware\CHAP9.C OMF2 BROWSE DEBUG PRINT(.\CHAP9.lst) OBJECT(.\
-CHAP9.obj)
line level source
1
2 #include "HAL.H"
3 //#include "USBD12.H"
4 #include "SMPro.H"
5 #include "USB200.H"
6 #include "USB.H"
7 #include "CHAP9.H"
8 #include "Isp1581.h"
9
10 #define NUM_ENDPOINTS 6
11
12 #define CONFIG_DESCRIPTOR_LENGTH sizeof(USB_CONFIGURATION_DESCRIPTOR) \
13 + sizeof(USB_INTERFACE_DESCRIPTOR) \
14 + (NUM_ENDPOINTS * sizeof(USB_ENDPOINT_DESCRIPTOR))
15
16
17 extern CONTROL_XFER ControlData;
18 extern ZBOARDFLAGS bZBoardFlags;
19 extern IO_REQUEST idata ioRequest;
20
21 code USB_DEVICE_DESCRIPTOR DeviceDescr =
22 {
23 sizeof(USB_DEVICE_DESCRIPTOR), // bLength
24 USB_DEVICE_DESCRIPTOR_TYPE, // bDescriptorType
25 SWAP(0x0110), // bcdUSB
26 USB_CLASS_CODE_TEST_CLASS_DEVICE, // bDeviceClass
27 0, // bDeviceSubClass
28 0, // bDeviceProtocol
29 EP0_PACKET_SIZE, // bMaxPacketSize
30 SWAP(0x0471), // idVendor
31 SWAP(0x2001), // idProduct
32 SWAP(0x0010), // bcdDevice
33 1, // iManufacturer
34 2, // iProduct
35 3, // iSerialNumber
36 1 // bNumConfigurations
37 };
38
39 code USB_CONFIGURATION_DESCRIPTOR ConfigDescr =
40 {
41 sizeof(USB_CONFIGURATION_DESCRIPTOR), // bLength
42 USB_CONFIGURATION_DESCRIPTOR_TYPE, // bDescriptorType
43 SWAP(CONFIG_DESCRIPTOR_LENGTH), // wTotalLength
44 1, // bNumInterfaces
45 1, // bConfigurationValue
46 4, // iConfiguration
47 0x80, // bmAttributes
48 0x40 // MaxPower
49 };
50
51 code USB_INTERFACE_DESCRIPTOR InterfaceDescr =
52 {
53 sizeof(USB_INTERFACE_DESCRIPTOR), // bLength
54 USB_INTERFACE_DESCRIPTOR_TYPE, // bDescriptorLength
C51 COMPILER V8.02 CHAP9 08/03/2006 10:10:36 PAGE 2
55 0, // bInterfaceNumber
56 0, // bAlternateSetting
57 NUM_ENDPOINTS, // bNumEndpoints
58 USB_CLASS_CODE_TEST_CLASS_DEVICE, // bInterfaceClass
59 USB_SUBCLASS_CODE_TEST_CLASS, // bInterfaceSubClass
60 USB_PROTOCOL_CODE_TEST_CLASS, // bInterfaceProtocol
61 5 // iInterface
62 };
63
64 code USB_ENDPOINT_DESCRIPTOR EP1_TXDescr =
65 {
66 sizeof(USB_ENDPOINT_DESCRIPTOR), // bLength
67 USB_ENDPOINT_DESCRIPTOR_TYPE, // bDescriptorType
68 0x81, // bEndpointAddress
69 USB_ENDPOINT_TYPE_BULK, // bmAttributes
70 SWAP(EP1_PACKET_SIZE), // wMaxPacketSize
71 //SWAP(maxepsize_FS),
72 10 // bInterval
73 };
74
75 code USB_ENDPOINT_DESCRIPTOR EP1_RXDescr =
76 {
77 sizeof(USB_ENDPOINT_DESCRIPTOR), // bLength
78 USB_ENDPOINT_DESCRIPTOR_TYPE, // bDescriptorType
79 0x1, // bEndpointAddress
80 USB_ENDPOINT_TYPE_BULK, // bmAttributes
81 SWAP(EP1_PACKET_SIZE), // wMaxPacketSize
82 //SWAP(maxepsize_FS),
83 10 // bInterval
84 };
85
86 code USB_ENDPOINT_DESCRIPTOR EP2_TXDescr =
87 {
88 sizeof(USB_ENDPOINT_DESCRIPTOR), // bLength
89 USB_ENDPOINT_DESCRIPTOR_TYPE, // bDescriptorType
90 0x82, // bEndpointAddress
91 USB_ENDPOINT_TYPE_BULK, // bmAttributes
92 SWAP(maxepsize_FS), // wMaxPacketSize
93 10 // bInterval
94 };
95
96 code USB_ENDPOINT_DESCRIPTOR EP2_RXDescr =
97 {
98 sizeof(USB_ENDPOINT_DESCRIPTOR), // bLength
99 USB_ENDPOINT_DESCRIPTOR_TYPE, // bDescriptorType
100 0x2, // bEndpointAddress
101 USB_ENDPOINT_TYPE_BULK, // bmAttributes
102 SWAP(maxepsize_FS), // wMaxPacketSize
103 10 // bInterval
104 };
105 /*
106 code USB_ENDPOINT_DESCRIPTOR EP3_TXDescr =
107 {
108 sizeof(USB_ENDPOINT_DESCRIPTOR), // bLength
109 USB_ENDPOINT_DESCRIPTOR_TYPE, // bDescriptorType
110 0x83, // bEndpointAddress
111 USB_ENDPOINT_TYPE_ISOCHRONOUS, // bmAttributes
112 SWAP(maxepsize_256), // wMaxPacketSize
113 1 // bInterval
114 };
115
116 code USB_ENDPOINT_DESCRIPTOR EP3_RXDescr =
C51 COMPILER V8.02 CHAP9 08/03/2006 10:10:36 PAGE 3
117 {
118 sizeof(USB_ENDPOINT_DESCRIPTOR), // bLength
119 USB_ENDPOINT_DESCRIPTOR_TYPE, // bDescriptorType
120 0x3, // bEndpointAddress
121 USB_ENDPOINT_TYPE_ISOCHRONOUS, // bmAttributes
122 SWAP(maxepsize_256), // wMaxPacketSize
123 1 // bInterval
124 };
125 */
126 code USB_ENDPOINT_DESCRIPTOR EP4_TXDescr =
127 {
128 sizeof(USB_ENDPOINT_DESCRIPTOR), // bLength
129 USB_ENDPOINT_DESCRIPTOR_TYPE, // bDescriptorType
130 0x84, // bEndpointAddress
131 USB_ENDPOINT_TYPE_INTERRUPT, // bmAttributes
132 SWAP(maxepsize_16), // wMaxPacketSize
133 //SWAP(maxepsize_FS),
134 10 // bInterval
135 };
136
137 code USB_ENDPOINT_DESCRIPTOR EP4_RXDescr =
138 {
139 sizeof(USB_ENDPOINT_DESCRIPTOR), // bLength
140 USB_ENDPOINT_DESCRIPTOR_TYPE, // bDescriptorType
141 0x4, // bEndpointAddress
142 USB_ENDPOINT_TYPE_BULK, // bmAttributes
143 SWAP(maxepsize_16), // wMaxPacketSize
144 //SWAP(maxepsize_FS),
145 10 // bInterval
146 };
147 /////////////////////////////////////////////////////////////////////////
148 code USB_DEVICE_DESCRIPTOR DeviceDescr_H =
149 {
150 sizeof(USB_DEVICE_DESCRIPTOR), // bLength
151 USB_DEVICE_DESCRIPTOR_TYPE, // bDescriptorType
152 SWAP(0x0200), // bcdUSB
153 USB_CLASS_CODE_TEST_CLASS_DEVICE, // bDeviceClass
154 0, // bDeviceSubClass
155 0, // bDeviceProtocol
156 EP0_PACKET_SIZE, // bMaxPacketSize
157 SWAP(0x0471), // idVendor
158 SWAP(0x2001), // idProduct
159 SWAP(0x0010), // bcdDevice
160 1, // iManufacturer
161 2, // iProduct
162 3, // iSerialNumber
163 1 // bNumConfigurations
164 };
165
166 code USB_CONFIGURATION_DESCRIPTOR ConfigDescr_H =
167 {
168 sizeof(USB_CONFIGURATION_DESCRIPTOR), // bLength
169 USB_CONFIGURATION_DESCRIPTOR_TYPE, // bDescriptorType
170 SWAP(CONFIG_DESCRIPTOR_LENGTH), // wTotalLength
171 1, // bNumInterfaces
172 1, // bConfigurationValue
173 4, // iConfiguration
174 0x80, // bmAttributes
175 0x40 // MaxPower
176 };
177
178 code USB_INTERFACE_DESCRIPTOR InterfaceDescr_H =
C51 COMPILER V8.02 CHAP9 08/03/2006 10:10:36 PAGE 4
179 {
180 sizeof(USB_INTERFACE_DESCRIPTOR), // bLength
181 USB_INTERFACE_DESCRIPTOR_TYPE, // bDescriptorLength
182 0, // bInterfaceNumber
183 0, // bAlternateSetting
184 NUM_ENDPOINTS, // bNumEndpoints
185 USB_CLASS_CODE_TEST_CLASS_DEVICE, // bInterfaceClass
186 USB_SUBCLASS_CODE_TEST_CLASS, // bInterfaceSubClass
187 USB_PROTOCOL_CODE_TEST_CLASS, // bInterfaceProtocol
188 5 // iInterface
189 };
190
191 code USB_ENDPOINT_DESCRIPTOR EP1_TXDescr_H =
192 {
193 sizeof(USB_ENDPOINT_DESCRIPTOR), // bLength
194 USB_ENDPOINT_DESCRIPTOR_TYPE, // bDescriptorType
195 0x81, // bEndpointAddress
196 USB_ENDPOINT_TYPE_BULK, // bmAttributes
197 SWAP(maxepsize_HS), // wMaxPacketSize
198 //SWAP(maxepsize_FS),
199 10 // bInterval
200 };
201
202 code USB_ENDPOINT_DESCRIPTOR EP1_RXDescr_H =
203 {
204 sizeof(USB_ENDPOINT_DESCRIPTOR), // bLength
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -