📄 fx2.lst
字号:
189 // TGE fx2bug
190 #define SUDAV_USBVECT (0 << 2)
191 #define SOF_USBVECT (1 << 2)
192 #define SUTOK_USBVECT (2 << 2)
193 #define SUSP_USBVECT (3 << 2)
194 #define URES_USBVECT (4 << 2)
195 #define HS_USBVECT (5 << 2)
196 #define EP0ACK_USBVECT (6 << 2)
197 #define SPARE0_USBVECT (7 << 2)
198 #define IN0BUF_USBVECT (8 << 2)
199 #define OUT0BUF_USBVECT (9 << 2)
200 #define IN1BUF_USBVECT (10 << 2)
201 #define OUT1BUF_USBVECT (11 << 2)
202 #define INOUT2BUF_USBVECT (12 << 2)
203 #define INOUT4BUF_USBVECT (13 << 2)
204 #define INOUT6BUF_USBVECT (14 << 2)
205 #define INOUT8BUF_USBVECT (15 << 2)
206 #define IBN_USBVECT (16 << 2)
207 #define SPARE1_USBVECT (17 << 2)
208 #define EP0PINGNAK_USBVECT (18 << 2)
209 #define EP1PINGNAK_USBVECT (19 << 2)
210 #define EP2PINGNAK_USBVECT (20 << 2)
211 #define EP4PINGNAK_USBVECT (21 << 2)
212 #define EP6PINGNAK_USBVECT (22 << 2)
213 #define EP8PINGNAK_USBVECT (23 << 2)
214 #define ERRLIM_USBVECT (24 << 2)
215 #define SPARE2_USBVECT (25 << 2)
216 #define SPARE3_USBVECT (26 << 2)
217 #define SPARE4_USBVECT (27 << 2)
218 #define EP2PIDERR_USBVECT (28 << 2)
219 #define EP4PIDERR_USBVECT (29 << 2)
220 #define EP6PIDERR_USBVECT (30 << 2)
221 #define EP8PIDERR_USBVECT (31 << 2)
222
223 typedef struct
224 {
225 BYTE length;
226 BYTE type;
227 }DSCR;
228
229 typedef struct // Device Descriptor
230 {
231 BYTE length; // Descriptor length ( = sizeof(DEVICEDSCR) )
232 BYTE type; // Decriptor type (Device = 1)
233 BYTE spec_ver_minor; // Specification Version (BCD) minor
234 BYTE spec_ver_major; // Specification Version (BCD) major
235 BYTE dev_class; // Device class
236 BYTE sub_class; // Device sub-class
237 BYTE protocol; // Device sub-sub-class
238 BYTE max_packet; // Maximum packet size
239 WORD vendor_id; // Vendor ID
240 WORD product_id; // Product ID
C51 COMPILER V6.10 FX2 06/22/2006 09:05:31 PAGE 5
241 WORD version_id; // Product version ID
242 BYTE mfg_str; // Manufacturer string index
243 BYTE prod_str; // Product string index
244 BYTE serialnum_str; // Serial number string index
245 BYTE configs; // Number of configurations
246 }DEVICEDSCR;
247
248 typedef struct // Device Qualifier Descriptor
249 {
250 BYTE length; // Descriptor length ( = sizeof(DEVICEQUALDSCR) )
251 BYTE type; // Decriptor type (Device Qualifier = 6)
252 BYTE spec_ver_minor; // Specification Version (BCD) minor
253 BYTE spec_ver_major; // Specification Version (BCD) major
254 BYTE dev_class; // Device class
255 BYTE sub_class; // Device sub-class
256 BYTE protocol; // Device sub-sub-class
257 BYTE max_packet; // Maximum packet size
258 BYTE configs; // Number of configurations
259 BYTE reserved0;
260 }DEVICEQUALDSCR;
261
262 typedef struct
263 {
264 BYTE length; // Configuration length ( = sizeof(CONFIGDSCR) )
265 BYTE type; // Descriptor type (Configuration = 2)
266 WORD config_len; // Configuration + End Points length
267 BYTE interfaces; // Number of interfaces
268 BYTE index; // Configuration number
269 BYTE config_str; // Configuration string
270 BYTE attrib; // Attributes (b7 - buspwr, b6 - selfpwr, b5 - rwu
271 BYTE power; // Power requirement (div 2 ma)
272 }CONFIGDSCR;
273
274 typedef struct
275 {
276 BYTE length; // Interface descriptor length ( - sizeof(INTRFCDSCR) )
277 BYTE type; // Descriptor type (Interface = 4)
278 BYTE index; // Zero-based index of this interface
279 BYTE alt_setting; // Alternate setting
280 BYTE ep_cnt; // Number of end points
281 BYTE class; // Interface class
282 BYTE sub_class; // Interface sub class
283 BYTE protocol; // Interface sub sub class
284 BYTE interface_str; // Interface descriptor string index
285 }INTRFCDSCR;
286
287 typedef struct
288 {
289 BYTE length; // End point descriptor length ( = sizeof(ENDPNTDSCR) )
290 BYTE type; // Descriptor type (End point = 5)
291 BYTE addr; // End point address
292 BYTE ep_type; // End point type
293 BYTE mp_L; // Maximum packet size
294 BYTE mp_H;
295 BYTE interval; // Interrupt polling interval
296 }ENDPNTDSCR;
297
298 typedef struct
299 {
300 BYTE length; // String descriptor length
301 BYTE type; // Descriptor type
302 }STRINGDSCR;
C51 COMPILER V6.10 FX2 06/22/2006 09:05:31 PAGE 6
303
304 typedef struct
305 {
306 BYTE cntrl; // End point control register
307 BYTE bytes; // End point buffer byte count
308 }EPIOC;
309
310 typedef struct
311 {
312 BYTE length;
313 BYTE *dat;
314 BYTE count;
315 BYTE status;
316 }I2CPCKT;
317
318 //-----------------------------------------------------------------------------
319 // Globals
320 //-----------------------------------------------------------------------------
321 extern code BYTE USB_AutoVector;
322
323 extern WORD pDeviceDscr;
324 extern WORD pDeviceQualDscr;
325 extern WORD pHighSpeedConfigDscr;
326 extern WORD pFullSpeedConfigDscr;
327 extern WORD pConfigDscr;
328 extern WORD pOtherConfigDscr;
329 extern WORD pStringDscr;
330
331 extern code DEVICEDSCR DeviceDscr;
332 extern code DEVICEQUALDSCR DeviceQualDscr;
333 extern code CONFIGDSCR HighSpeedConfigDscr;
334 extern code CONFIGDSCR FullSpeedConfigDscr;
335 extern code STRINGDSCR StringDscr;
336 extern code DSCR UserDscr;
337
338 extern I2CPCKT I2CPckt;
339
340 //-----------------------------------------------------------------------------
341 // Function Prototypes
342 //-----------------------------------------------------------------------------
343 // fx2bug #ifdef CHIPREV_B
344 // fx2bug extern void EZUSB_IRQ_CLEAR(void);
345 // fx2bug #endif
346
347 extern void EZUSB_Renum(void);
348 extern void EZUSB_Discon(BOOL renum);
349
350 extern void EZUSB_Susp(void);
351 extern void EZUSB_Resume(void);
352
353 extern void EZUSB_Delay1ms(void);
354 extern void EZUSB_Delay(WORD ms);
355
356 extern CONFIGDSCR xdata* EZUSB_GetConfigDscr(BYTE ConfigIdx);
357 extern INTRFCDSCR xdata* EZUSB_GetIntrfcDscr(BYTE ConfigIdx, BYTE IntrfcIdx, BYTE AltSetting);
358 extern STRINGDSCR xdata* EZUSB_GetStringDscr(BYTE StrIdx);
359 extern DSCR xdata* EZUSB_GetDscr(BYTE index, DSCR* dscr, BYTE type);
360
361 extern void EZUSB_InitI2C(void);
362 extern BOOL EZUSB_WriteI2C_(BYTE addr, BYTE length, BYTE xdata *dat);
363 extern BOOL EZUSB_ReadI2C_(BYTE addr, BYTE length, BYTE xdata *dat);
364 extern BOOL EZUSB_WriteI2C(BYTE addr, BYTE length, BYTE xdata *dat);
C51 COMPILER V6.10 FX2 06/22/2006 09:05:31 PAGE 7
365 extern BOOL EZUSB_ReadI2C(BYTE addr, BYTE length, BYTE xdata *dat);
366 extern void EZUSB_WaitForEEPROMWrite(BYTE addr);
367
368 extern void modify_endpoint_stall(BYTE epid, BYTE stall);
369
370 #endif // FX2_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 + -