📄 fw.i
字号:
#line 1 "fw.c" /0 #line 1 "fx2.h" /0 typedef unsigned char BYTE; typedef unsigned short WORD; typedef unsigned long DWORD; typedef bit BOOL; typedef struct { BYTE length; BYTE type; }DSCR; typedef struct { BYTE length; BYTE type; BYTE spec_ver_minor; BYTE spec_ver_major; BYTE dev_class; BYTE sub_class; BYTE protocol; BYTE max_packet; WORD vendor_id; WORD product_id; WORD version_id; BYTE mfg_str; BYTE prod_str; BYTE serialnum_str; BYTE configs; }DEVICEDSCR; typedef struct { BYTE length; BYTE type; BYTE spec_ver_minor; BYTE spec_ver_major; BYTE dev_class; BYTE sub_class; BYTE protocol; BYTE max_packet; BYTE configs; BYTE reserved0; }DEVICEQUALDSCR; typedef struct { BYTE length; BYTE type; WORD config_len; BYTE interfaces; BYTE index; BYTE config_str; BYTE attrib; BYTE power; }CONFIGDSCR; typedef struct { BYTE length; BYTE type; BYTE index; BYTE alt_setting; BYTE ep_cnt; BYTE class; BYTE sub_class; BYTE protocol; BYTE interface_str; }INTRFCDSCR; typedef struct { BYTE length; BYTE type; BYTE addr; BYTE ep_type; BYTE mp_L; BYTE mp_H; BYTE interval; }ENDPNTDSCR; typedef struct { BYTE length; BYTE type; }STRINGDSCR; typedef struct { BYTE cntrl; BYTE bytes; }EPIOC; typedef struct { BYTE length; BYTE *dat; BYTE count; BYTE status; }I2CPCKT; extern code BYTE USB_AutoVector; extern WORD pDeviceDscr; extern WORD pDeviceQualDscr; extern WORD pHighSpeedConfigDscr; extern WORD pFullSpeedConfigDscr; extern WORD pConfigDscr; extern WORD pOtherConfigDscr; extern WORD pStringDscr; extern code DEVICEDSCR DeviceDscr; extern code DEVICEQUALDSCR DeviceQualDscr; extern code CONFIGDSCR HighSpeedConfigDscr; extern code CONFIGDSCR FullSpeedConfigDscr; extern code STRINGDSCR StringDscr; extern code DSCR UserDscr; extern I2CPCKT I2CPckt; extern void EZUSB_Renum(void); extern void EZUSB_Discon(BOOL renum); extern void EZUSB_Susp(void); extern void EZUSB_Resume(void); extern void EZUSB_Delay1ms(void); extern void EZUSB_Delay(WORD ms); extern CONFIGDSCR xdata* EZUSB_GetConfigDscr(BYTE ConfigIdx); extern INTRFCDSCR xdata* EZUSB_GetIntrfcDscr(BYTE ConfigIdx, BYTE IntrfcIdx, BYTE AltSetting); extern STRINGDSCR xdata* EZUSB_GetStringDscr(BYTE StrIdx); extern DSCR xdata* EZUSB_GetDscr(BYTE index, DSCR* dscr, BYTE type); extern void EZUSB_InitI2C(void); extern BOOL EZUSB_WriteI2C_(BYTE addr, BYTE length, BYTE xdata *dat); extern BOOL EZUSB_ReadI2C_(BYTE addr, BYTE length, BYTE xdata *dat); extern BOOL EZUSB_WriteI2C(BYTE addr, BYTE length, BYTE xdata *dat); extern BOOL EZUSB_ReadI2C(BYTE addr, BYTE length, BYTE xdata *dat); extern void EZUSB_WaitForEEPROMWrite(BYTE addr); extern void modify_endpoint_stall(BYTE epid, BYTE stall); #line 13 "fw.c" /0 #line 1 "fx2regs.h" /0 #line 35 "fx2regs.h" /1 #line 38 "fx2regs.h" /0 extern xdata volatile BYTE GPIF_WAVE_DATA ; extern xdata volatile BYTE RES_WAVEDATA_END ; extern xdata volatile BYTE CPUCS ; extern xdata volatile BYTE IFCONFIG ; extern xdata volatile BYTE PINFLAGSAB ; extern xdata volatile BYTE PINFLAGSCD ; extern xdata volatile BYTE FIFORESET ; extern xdata volatile BYTE BREAKPT ; extern xdata volatile BYTE BPADDRH ; extern xdata volatile BYTE BPADDRL ; extern xdata volatile BYTE UART230 ; extern xdata volatile BYTE FIFOPINPOLAR ; extern xdata volatile BYTE REVID ; extern xdata volatile BYTE REVCTL ; extern xdata volatile BYTE EP1OUTCFG ; extern xdata volatile BYTE EP1INCFG ; extern xdata volatile BYTE EP2CFG ; extern xdata volatile BYTE EP4CFG ; extern xdata volatile BYTE EP6CFG ; extern xdata volatile BYTE EP8CFG ; extern xdata volatile BYTE EP2FIFOCFG ; extern xdata volatile BYTE EP4FIFOCFG ; extern xdata volatile BYTE EP6FIFOCFG ; extern xdata volatile BYTE EP8FIFOCFG ; extern xdata volatile BYTE EP2AUTOINLENH ; extern xdata volatile BYTE EP2AUTOINLENL ; extern xdata volatile BYTE EP4AUTOINLENH ; extern xdata volatile BYTE EP4AUTOINLENL ; extern xdata volatile BYTE EP6AUTOINLENH ; extern xdata volatile BYTE EP6AUTOINLENL ; extern xdata volatile BYTE EP8AUTOINLENH ; extern xdata volatile BYTE EP8AUTOINLENL ; extern xdata volatile BYTE EP2FIFOPFH ; extern xdata volatile BYTE EP2FIFOPFL ; extern xdata volatile BYTE EP4FIFOPFH ; extern xdata volatile BYTE EP4FIFOPFL ; extern xdata volatile BYTE EP6FIFOPFH ; extern xdata volatile BYTE EP6FIFOPFL ; extern xdata volatile BYTE EP8FIFOPFH ; extern xdata volatile BYTE EP8FIFOPFL ; extern xdata volatile BYTE EP2ISOINPKTS ; extern xdata volatile BYTE EP4ISOINPKTS ; extern xdata volatile BYTE EP6ISOINPKTS ; extern xdata volatile BYTE EP8ISOINPKTS ; extern xdata volatile BYTE INPKTEND ; extern xdata volatile BYTE OUTPKTEND ; extern xdata volatile BYTE EP2FIFOIE ; extern xdata volatile BYTE EP2FIFOIRQ ; extern xdata volatile BYTE EP4FIFOIE ; extern xdata volatile BYTE EP4FIFOIRQ ; extern xdata volatile BYTE EP6FIFOIE ; extern xdata volatile BYTE EP6FIFOIRQ ; extern xdata volatile BYTE EP8FIFOIE ; extern xdata volatile BYTE EP8FIFOIRQ ; extern xdata volatile BYTE IBNIE ; extern xdata volatile BYTE IBNIRQ ; extern xdata volatile BYTE NAKIE ; extern xdata volatile BYTE NAKIRQ ; extern xdata volatile BYTE USBIE ; extern xdata volatile BYTE USBIRQ ; extern xdata volatile BYTE EPIE ; extern xdata volatile BYTE EPIRQ ; extern xdata volatile BYTE GPIFIE ; extern xdata volatile BYTE GPIFIRQ ; extern xdata volatile BYTE USBERRIE ; extern xdata volatile BYTE USBERRIRQ ; extern xdata volatile BYTE ERRCNTLIM ; extern xdata volatile BYTE CLRERRCNT ; extern xdata volatile BYTE INT2IVEC ; extern xdata volatile BYTE INT4IVEC ; extern xdata volatile BYTE INTSETUP ; extern xdata volatile BYTE PORTACFG ; extern xdata volatile BYTE PORTCCFG ; extern xdata volatile BYTE PORTECFG ; extern xdata volatile BYTE I2CS ; extern xdata volatile BYTE I2DAT ; extern xdata volatile BYTE I2CTL ; extern xdata volatile BYTE XAUTODAT1 ; extern xdata volatile BYTE XAUTODAT2 ; extern xdata volatile BYTE USBCS ; extern xdata volatile BYTE SUSPEND ; extern xdata volatile BYTE WAKEUPCS ; extern xdata volatile BYTE TOGCTL ; extern xdata volatile BYTE USBFRAMEH ; extern xdata volatile BYTE USBFRAMEL ; extern xdata volatile BYTE MICROFRAME ; extern xdata volatile BYTE FNADDR ; extern xdata volatile BYTE EP0BCH ; extern xdata volatile BYTE EP0BCL ; extern xdata volatile BYTE EP1OUTBC ; extern xdata volatile BYTE EP1INBC ; extern xdata volatile BYTE EP2BCH ; extern xdata volatile BYTE EP2BCL ; extern xdata volatile BYTE EP4BCH ; extern xdata volatile BYTE EP4BCL ; extern xdata volatile BYTE EP6BCH ; extern xdata volatile BYTE EP6BCL ; extern xdata volatile BYTE EP8BCH ; extern xdata volatile BYTE EP8BCL ; extern xdata volatile BYTE EP0CS ; extern xdata volatile BYTE EP1OUTCS ; extern xdata volatile BYTE EP1INCS ; extern xdata volatile BYTE EP2CS ; extern xdata volatile BYTE EP4CS ; extern xdata volatile BYTE EP6CS ; extern xdata volatile BYTE EP8CS ; extern xdata volatile BYTE EP2FIFOFLGS ; extern xdata volatile BYTE EP4FIFOFLGS ; extern xdata volatile BYTE EP6FIFOFLGS ; extern xdata volatile BYTE EP8FIFOFLGS ; extern xdata volatile BYTE EP2FIFOBCH ; extern xdata volatile BYTE EP2FIFOBCL ; extern xdata volatile BYTE EP4FIFOBCH ; extern xdata volatile BYTE EP4FIFOBCL ; extern xdata volatile BYTE EP6FIFOBCH ; extern xdata volatile BYTE EP6FIFOBCL ; extern xdata volatile BYTE EP8FIFOBCH ; extern xdata volatile BYTE EP8FIFOBCL ; extern xdata volatile BYTE SUDPTRH ; extern xdata volatile BYTE SUDPTRL ; extern xdata volatile BYTE SUDPTRCTL ; extern xdata volatile BYTE SETUPDAT[8] ; extern xdata volatile BYTE GPIFWFSELECT ; extern xdata volatile BYTE GPIFIDLECS ; extern xdata volatile BYTE GPIFIDLECTL ; extern xdata volatile BYTE GPIFCTLCFG ; extern xdata volatile BYTE GPIFADRH ; extern xdata volatile BYTE GPIFADRL ; extern xdata volatile BYTE GPIFTCB3 ; extern xdata volatile BYTE GPIFTCB2 ; extern xdata volatile BYTE GPIFTCB1 ; extern xdata volatile BYTE GPIFTCB0 ; extern xdata volatile BYTE EP2GPIFFLGSEL ; extern xdata volatile BYTE EP2GPIFPFSTOP ; extern xdata volatile BYTE EP2GPIFTRIG ; extern xdata volatile BYTE EP4GPIFFLGSEL ; extern xdata volatile BYTE EP4GPIFPFSTOP ; extern xdata volatile BYTE EP4GPIFTRIG ; extern xdata volatile BYTE EP6GPIFFLGSEL ; extern xdata volatile BYTE EP6GPIFPFSTOP ; extern xdata volatile BYTE EP6GPIFTRIG ; extern xdata volatile BYTE EP8GPIFFLGSEL ; extern xdata volatile BYTE EP8GPIFPFSTOP ; extern xdata volatile BYTE EP8GPIFTRIG ; extern xdata volatile BYTE XGPIFSGLDATH ; extern xdata volatile BYTE XGPIFSGLDATLX ; extern xdata volatile BYTE XGPIFSGLDATLNOX ; extern xdata volatile BYTE GPIFREADYCFG ; extern xdata volatile BYTE GPIFREADYSTAT ; extern xdata volatile BYTE GPIFABORT ; extern xdata volatile BYTE FLOWSTATE ; extern xdata volatile BYTE FLOWLOGIC ; extern xdata volatile BYTE FLOWEQ0CTL ; extern xdata volatile BYTE FLOWEQ1CTL ; extern xdata volatile BYTE FLOWHOLDOFF ; extern xdata volatile BYTE FLOWSTB ; extern xdata volatile BYTE FLOWSTBEDGE ; extern xdata volatile BYTE FLOWSTBHPERIOD ; extern xdata volatile BYTE GPIFHOLDAMOUNT ; extern xdata volatile BYTE UDMACRCH ; extern xdata volatile BYTE UDMACRCL ; extern xdata volatile BYTE UDMACRCQUAL ; extern xdata volatile BYTE DBUG ; extern xdata volatile BYTE TESTCFG ; extern xdata volatile BYTE USBTEST ; extern xdata volatile BYTE CT1 ; extern xdata volatile BYTE CT2 ; extern xdata volatile BYTE CT3 ; extern xdata volatile BYTE CT4 ; extern xdata volatile BYTE EP0BUF[64] ; extern xdata volatile BYTE EP1OUTBUF[64] ; extern xdata volatile BYTE EP1INBUF[64] ; extern xdata volatile BYTE EP2FIFOBUF[1024] ; extern xdata volatile BYTE EP4FIFOBUF[1024] ; extern xdata volatile BYTE EP6FIFOBUF[1024] ; extern xdata volatile BYTE EP8FIFOBUF[1024] ; sfr IOA = 0x80; sfr SP = 0x81; sfr DPL = 0x82; sfr DPH = 0x83; sfr DPL1 = 0x84; sfr DPH1 = 0x85; sfr DPS = 0x86; sbit SEL = 0x86+0; sfr PCON = 0x87; sfr TCON = 0x88; sbit IT0 = 0x88+0; sbit IE0 = 0x88+1; sbit IT1 = 0x88+2; sbit IE1 = 0x88+3; sbit TR0 = 0x88+4; sbit TF0 = 0x88+5; sbit TR1 = 0x88+6; sbit TF1 = 0x88+7; sfr TMOD = 0x89; sfr TL0 = 0x8A; sfr TL1 = 0x8B; sfr TH0 = 0x8C; sfr TH1 = 0x8D; sfr CKCON = 0x8E; sfr SPC_FNC = 0x8F; sfr IOB = 0x90; sfr EXIF = 0x91; sfr MPAGE = 0x92; sfr SCON0 = 0x98; sbit RI = 0x98+0; sbit TI = 0x98+1; sbit RB8 = 0x98+2; sbit TB8 = 0x98+3; sbit REN = 0x98+4; sbit SM2 = 0x98+5; sbit SM1 = 0x98+6; sbit SM0 = 0x98+7; sfr SBUF0 = 0x99; sfr APTR1H = 0x9A; sfr APTR1L = 0x9B; sfr AUTOPTR1H = 0x9A; sfr AUTOPTR1L = 0x9B; sfr AUTOPTRH2 = 0x9D; sfr AUTOPTRL2 = 0x9E; sfr IOC = 0xA0; sfr INT2CLR = 0xA1; sfr INT4CLR = 0xA2; sfr IE = 0xA8; sbit EX0 = 0xA8+0; sbit ET0 = 0xA8+1; sbit EX1 = 0xA8+2; sbit ET1 = 0xA8+3; sbit ES0 = 0xA8+4; sbit ET2 = 0xA8+5; sbit ES1 = 0xA8+6; sbit EA = 0xA8+7; sfr EP2468STAT = 0xAA; sfr EP24FIFOFLGS = 0xAB; sfr EP68FIFOFLGS = 0xAC; sfr AUTOPTRSETUP = 0xAF; sbit EXTACC = 0xAF+0; sbit APTR1FZ = 0xAF+1; sbit APTR2FZ = 0xAF+2; sfr IOD = 0xB0; sfr IOE = 0xB1; sfr OEA = 0xB2; sfr OEB = 0xB3; sfr OEC = 0xB4; sfr OED = 0xB5; sfr OEE = 0xB6; sfr IP = 0xB8; sbit PX0 = 0xB8+0; sbit PT0 = 0xB8+1; sbit PX1 = 0xB8+2; sbit PT1 = 0xB8+3; sbit PS0 = 0xB8+4; sbit PT2 = 0xB8+5; sbit PS1 = 0xB8+6; sfr EP01STAT = 0xBA; sfr GPIFTRIG = 0xBB; sfr GPIFSGLDATH = 0xBD; sfr GPIFSGLDATLX = 0xBE; sfr GPIFSGLDATLNOX = 0xBF; sfr SCON1 = 0xC0; sbit RI1 = 0xC0+0; sbit TI1 = 0xC0+1; sbit RB81 = 0xC0+2; sbit TB81 = 0xC0+3; sbit REN1 = 0xC0+4; sbit SM21 = 0xC0+5; sbit SM11 = 0xC0+6; sbit SM01 = 0xC0+7; sfr SBUF1 = 0xC1; sfr T2CON = 0xC8; sbit CP_RL2 = 0xC8+0; sbit C_T2 = 0xC8+1; sbit TR2 = 0xC8+2; sbit EXEN2 = 0xC8+3; sbit TCLK = 0xC8+4; sbit RCLK = 0xC8+5; sbit EXF2 = 0xC8+6; sbit TF2 = 0xC8+7; sfr RCAP2L = 0xCA; sfr RCAP2H = 0xCB; sfr TL2 = 0xCC; sfr TH2 = 0xCD; sfr PSW = 0xD0; sbit P = 0xD0+0; sbit FL = 0xD0+1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -