📄 macro.h
字号:
/* store the status byte in FIFO0 for the chosen endpoint *************//* store the status byte in FIFO0 for the chosen endpoint *************/#define EPSTATUS(epbit) {if(TSTBIT(stalld,epbit)) write_usb(TXD0,1); \ else write_usb(TXD0,0); break;}/* Flush and disable the USB TX0 **************************************/#define FLUSHTX0 {write_usb(TXC0,FLUSH);}/* Flush and disable the USB TX1 **************************************/#define FLUSHTX1 {write_usb(TXC1,FLUSH);}/* Flush and disable the USB TX2 **************************************/#define FLUSHTX2 {write_usb(TXC2,FLUSH);}/* Flush and disable the USB TX3 **************************************/#define FLUSHTX3 {write_usb(TXC3,FLUSH);}/* Flush and disable the USB RX0 **************************************/#define FLUSHRX0 {write_usb(RXC0,FLUSH);}/* Flush and disable the USB RX1 **************************************/#define FLUSHRX1 {write_usb(RXC1,FLUSH);}/* Flush and disable the USB RX2 **************************************/#define FLUSHRX2 {write_usb(RXC2,FLUSH);}/* Flush and disable the USB RX3 **************************************/#define FLUSHRX3 {write_usb(RXC3,FLUSH);}/* enable TX0, using the appropriate DATA PID *************************/#define TXEN0_PID {if(TSTBIT(dtapid,TGL0PID)) write_usb(TXC0,TX_TOGL+TX_EN);\ else write_usb(TXC0,TX_EN); TGLBIT(dtapid,TGL0PID);}/* enable TX1, using the appropriate DATA PID, but not toggling it ****/#define TXEN1_PID_NO_TGL {if(TSTBIT(dtapid,TGL1PID)) \ write_usb(TXC1,TX_TOGL+TX_LAST+TX_EN); else \ write_usb(TXC1,TX_LAST+TX_EN);}/* enable TX1, using the appropriate DATA PID *************************/#define TXEN1_PID {TXEN1_PID_NO_TGL; TGLBIT(dtapid,TGL1PID);}/* clears the multi-packet mode bits **********************************/#define CLR_GETDESC {CLRBIT(status,GETDESC); /*CLRBIT(status,MLTIPKT);*/}#define CLR_SENDCMD {CLRBIT(status,SENDCMD); /*CLRBIT(status,MLTIPKT);*/}#define CLR_READSTA {CLRBIT(status,READSTA); /*CLRBIT(status,MLTIPKT);*/}#define CLR_UPLOAD {CLRBIT(status,UPLOAD); /*CLRBIT(status,MLTIPKT);*/}#define CLR_DOWNLOAD {CLRBIT(status,DOWNLOAD); /*CLRBIT(status,MLTIPKT);*/}#define CLR_ROOT {CLRBIT(status,READROOT); /*CLRBIT(status,MLTIPKT);*/}#define CLR_MEM {CLRBIT(status,READMEM); /*CLRBIT(status,MLTIPKT);*/}#define CLR_MLTIPKT {CLR_GETDESC;CLR_SENDCMD;CLR_READSTA;CLR_UPLOAD;CLR_DOWNLOAD;CLR_ROOT;CLR_MEM} /* sets status.GETDESC and status.MLTIPKT *****************************/#define SET_GETDESC {SETBIT(status,GETDESC); /*SETBIT(status,MLTIPKT);*/}/* sets status.SENDCMD and status.MLTIPKT *****************************/#define SET_SENDCMD {SETBIT(status,SENDCMD); /*SETBIT(status,MLTIPKT);*/}/* sets status.READSTA and status.MLTIPKT *****************************/#define SET_READSTA {SETBIT(status,READSTA); /*SETBIT(status,MLTIPKT);*/}#define SET_UPLOAD {SETBIT(status,UPLOAD); /*SETBIT(status,MLTIPKT);*/}#define SET_DOWNLOAD {SETBIT(status,DOWNLOAD);/*SETBIT(status,MLTIPKT);*/}#define SET_ROOT {SETBIT(status,READROOT); /*SETBIT(status,MLTIPKT);*/}#define SET_MEM {SETBIT(status,READMEM); /*SETBIT(status,MLTIPKT);*/}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -