文档介绍:: .
PortEnum() : hub port device enum, incl. dynamic USB address
// 6) speed_detect(): SL811H slave device attach/speed detect
// 7) slave_detect(): Main loop control between SL811H & EZUSB & GUI2006 年首届 ST-EMBEST 杯嵌入式电子设计大赛 参赛文档
// 8) : Entire code size
//*****************************************************************************
************
// xdata variables
//*****************************************************************************
************
//xdata BYTE SL811H_ADDR _at_ 0x4000; // A0 = '0' to external memory
//xdata BYTE SL811H_DATA _at_ 0x4001; // A0 = '1' (EZ-USB Dev Kit - SW4 ON)
#define SL811H_ADDR 0x06000000 //USB board,A1=0;
#define SL811H_DATA 0x06000002 //USB board,A1=1;
//--------------------------------------------------------------------
#define USBADDR (*(volatile unsigned char *)0x06000000) //USB board,A1=1;
#define USBDATA (*(volatile unsigned char *)0x06000002) //USB board,A1=0
//--------------------------------------------------------------------
BYTE DBUF[256]; // at 0x2000 for general descriptors data
BYTE STATUS[8]; // for status data buffer
BYTE REGBUFF[16]; // Buffer for Register Data
BYTE HOSTCMD[8]; // EZUSB's OUT1 host command data
BYTE pHOSTCMD[8]; // previous data transfer info, during data transfer
BYTE HubChange[1]; // Hub port endpoint 1 data status
BYTE DataBufLen; // EZUSB's IN #3 data transfer buffer length
BYTE pNumPort; // Number of downstream ports on hub
BYTE remainder; // Remaining byte in a USB transfer
pUSBDEV uDev[MAX_DEV];// Multiple USB devices attributes, Max 5 devices
pHUBDEV uHub; // Struct for downstream device on HUB
pDevDesc pDev; // Device descr