⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainloop.h

📁 基于D12的USB固件驱动
💻 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 + -