📄 ezusb.lst
字号:
171 #define INT0_VECT 0
172 #define TMR0_VECT 1
173 #define INT1_VECT 2
174 #define TMR1_VECT 3
175 #define COM0_VECT 4
176 #define TMR2_VECT 5
177 #define WKUP_VECT 6
178 #define COM1_VECT 7
179 #define USB_VECT 8
C51 COMPILER V6.10 EZUSB 02/28/2008 16:41:03 PAGE 4
180 #define I2C_VECT 9
181 #define INT4_VECT 10
182 #define INT5_VECT 11
183 #define INT6_VECT 12
184
185 #define SUDAV_USBVECT (0 << 2)
186 #define SOF_USBVECT (1 << 2)
187 #define SUTOK_USBVECT (2 << 2)
188 #define SUSP_USBVECT (3 << 2)
189 #define URES_USBVECT (4 << 2)
190 #define SPARE_USBVECT (5 << 2)
191 #define IN0BUF_USBVECT (6 << 2)
192 #define OUT0BUF_USBVECT (7 << 2)
193 #define IN1BUF_USBVECT (8 << 2)
194 #define OUT1BUF_USBVECT (9 << 2)
195 #define IN2BUF_USBVECT (10 << 2)
196 #define OUT2BUF_USBVECT (11 << 2)
197 #define IN3BUF_USBVECT (12 << 2)
198 #define OUT3BUF_USBVECT (13 << 2)
199 #define IN4BUF_USBVECT (14 << 2)
200 #define OUT4BUF_USBVECT (15 << 2)
201 #define IN5BUF_USBVECT (16 << 2)
202 #define OUT5BUF_USBVECT (17 << 2)
203 #define IN6BUF_USBVECT (18 << 2)
204 #define OUT6BUF_USBVECT (19 << 2)
205 #define IN7BUF_USBVECT (20 << 2)
206 #define OUT7BUF_USBVECT (21 << 2)
207
208 typedef struct
209 {
210 BYTE length;
211 BYTE type;
212 }DSCR;
213
214 typedef struct // Device Descriptor
215 {
216 BYTE length; // Descriptor length ( = sizeof(DEVICEDSCR) )
217 BYTE type; // Decriptor type (Device = 1)
218 BYTE spec_ver_minor; // Specification Version (BCD) minor
219 BYTE spec_ver_major; // Specification Version (BCD) major
220 BYTE dev_class; // Device class
221 BYTE sub_class; // Device sub-class
222 BYTE protocol; // Device sub-sub-class
223 BYTE max_packet; // Maximum packet size
224 WORD vendor_id; // Vendor ID
225 WORD product_id; // Product ID
226 WORD version_id; // Product version ID
227 BYTE mfg_str; // Manufacturer string index
228 BYTE prod_str; // Product string index
229 BYTE serialnum_str; // Serial number string index
230 BYTE configs; // Numder of configurations
231 }DEVICEDSCR;
232
233 typedef struct
234 {
235 BYTE length; // Configuration length ( = sizeof(CONFIGDSCR) )
236 BYTE type; // Descriptor type (Configuration = 2)
237 WORD config_len; // Configuration + End Points length
238 BYTE interfaces; // Number of interfaces
239 BYTE index; // Configuration number
240 BYTE config_str; // Configuration string
241 BYTE attrib; // Attributes (b7 - buspwr, b6 - selfpwr, b5 - rwu
C51 COMPILER V6.10 EZUSB 02/28/2008 16:41:03 PAGE 5
242 BYTE power; // Power requirement (div 2 ma)
243 }CONFIGDSCR;
244
245 typedef struct
246 {
247 BYTE length; // Interface descriptor length ( - sizeof(INTRFCDSCR) )
248 BYTE type; // Descriptor type (Interface = 4)
249 BYTE index; // Zero-based index of this interface
250 BYTE alt_setting; // Alternate setting
251 BYTE ep_cnt; // Number of end points
252 BYTE class; // Interface class
253 BYTE sub_class; // Interface sub class
254 BYTE protocol; // Interface sub sub class
255 BYTE interface_str; // Interface descriptor string index
256 }INTRFCDSCR;
257
258 typedef struct
259 {
260 BYTE length; // End point descriptor length ( = sizeof(ENDPNTDSCR) )
261 BYTE type; // Descriptor type (End point = 5)
262 BYTE addr; // End point address
263 BYTE ep_type; // End point type
264 BYTE mp_L; // Maximum packet size
265 BYTE mp_H;
266 BYTE interval; // Interrupt polling interval
267 }ENDPNTDSCR;
268
269 typedef struct
270 {
271 BYTE length; // String descriptor length
272 BYTE type; // Descriptor type
273 }STRINGDSCR;
274
275 typedef struct
276 {
277 BYTE cntrl; // End point control register
278 BYTE bytes; // End point buffer byte count
279 }EPIOC;
280
281 typedef struct
282 {
283 BYTE length;
284 BYTE *dat;
285 BYTE count;
286 BYTE status;
287 }I2CPCKT;
288
289 //-----------------------------------------------------------------------------
290 // Globals
291 //-----------------------------------------------------------------------------
292 extern code BYTE USB_AutoVector;
293
294 extern WORD pDeviceDscr;
295 extern WORD pConfigDscr;
296 extern WORD pStringDscr;
297 extern code DEVICEDSCR DeviceDscr;
298 extern code CONFIGDSCR ConfigDscr;
299 extern code STRINGDSCR StringDscr;
300 extern code DSCR UserDscr;
301
302 extern I2CPCKT I2CPckt;
303
C51 COMPILER V6.10 EZUSB 02/28/2008 16:41:03 PAGE 6
304 //-----------------------------------------------------------------------------
305 // Function Prototypes
306 //-----------------------------------------------------------------------------
307 #ifdef CHIPREV_B
extern void EZUSB_IRQ_CLEAR(void);
#endif
310
311 extern void EZUSB_Renum(void);
312 extern void EZUSB_Discon(BOOL renum);
313
314 extern void EZUSB_Susp(void);
315 extern void EZUSB_Resume(void);
316
317 extern void EZUSB_Delay1ms(void);
318 extern void EZUSB_Delay(WORD ms);
319
320 extern CONFIGDSCR xdata* EZUSB_GetConfigDscr(BYTE ConfigIdx);
321 extern INTRFCDSCR xdata* EZUSB_GetIntrfcDscr(BYTE ConfigIdx, BYTE IntrfcIdx, BYTE AltSetting);
322 extern STRINGDSCR xdata* EZUSB_GetStringDscr(BYTE StrIdx);
323 extern DSCR xdata* EZUSB_GetDscr(BYTE index, DSCR* dscr, BYTE type);
324
325 extern void EZUSB_InitI2C(void);
326 extern BOOL EZUSB_WriteI2C_(BYTE addr, BYTE length, BYTE xdata *dat);
327 extern BOOL EZUSB_ReadI2C_(BYTE addr, BYTE length, BYTE xdata *dat);
328 extern BOOL EZUSB_WriteI2C(BYTE addr, BYTE length, BYTE xdata *dat);
329 extern BOOL EZUSB_ReadI2C(BYTE addr, BYTE length, BYTE xdata *dat);
330 extern void EZUSB_WaitForEEPROMWrite(BYTE addr);
331
332 #endif // EZUSB_H
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = ---- ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
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 + -