📄 mainloop.h
字号:
#ifndef _MAINLOOP_H_
#define _MAINLOOP_H_
/*###################################################################
structure and union definitions
###################################################################*/
typedef union _epp_flags
{
struct _flags
{
unsigned timer :1; //unsigned char-->unsigned
unsigned bus_reset :1; //
unsigned suspend :1; //
unsigned setup_packet :1; //
unsigned remote_wakeup :1; //
unsigned in_isr :1; //
unsigned control_state :2; //control endpoint done state
//0:IDLE
//1:TRANSMIT
//2:RECEIVE
unsigned configuration :1; //
unsigned command :1; //
unsigned ep1_rxdone :1; //
unsigned ep2_rxdone :1; //
unsigned ep1buf_full :1; //
unsigned ep2buf_full :1; //
} bits;
unsigned short value;
} EPPFLAGS;
typedef struct _device_request
{
unsigned char bmRequestType;
unsigned char bRequest;
unsigned short wValue;
unsigned short wIndex;
unsigned short wLength;
} DEVICE_REQUEST;
#define MAX_CONTROLDATA_SIZE 16
/*SETUP PACKET DATA BUFFER*/
typedef struct _control_xfer
{
DEVICE_REQUEST DeviceRequest;
unsigned short wLength;
unsigned short wCount;
unsigned char * pData;
unsigned char dataBuffer[MAX_CONTROLDATA_SIZE];
} CONTROL_XFER;
/*Global Variable*/
//EPPFLAGS bEPPflags;
//CONTROL_XFER ControlData;
/*###################################################################
USB utility functions
###################################################################*/
extern void suspend_change(void);
extern void stall_ep0(void);
extern void disconnect_USB(void);
extern void connect_USB(void);
extern void reconnect_USB(void);
extern void init_unconfig(void);
extern void init_config(void);
extern void single_transmit(unsigned char *pData,unsigned char len);
extern void code_transmit(unsigned char *pRomData,unsigned short len);
extern void control_handle(void);
extern void USBIit(void);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -