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

📄 varial.h

📁 51单片机与SL811HST做从机的PS3手柄程序
💻 H
字号:
//#include <reg51.h>
//#include <sl811.h>
//#include <absacc.h>
//#include <des.h>
//*****************************************************************************************
// Variables Define
//*****************************************************************************************
 	

//----------------------------------

//----------------------------------
//xdata  unsigned char 	SL811H_ADDR	_at_ 0x4000;// A0 = '0' - Addr (A15 = nCS of SL811HS)
//xdata  unsigned char 	SL811H_DATA _at_ 0x4001;// A0 = '1' - Data

//xdata  unsigned char	Slave_USBaddr;			// USB device address
//xdata  unsigned char	Slave_ConfigVal;		// Device configuration value
//xdata  unsigned char	Slave_Protocol;			// HID device protocol status
//xdata  unsigned char	Slave_IdleRate;			// HID device idle rate value
//xdata  unsigned char	Slave_RemoteWU;			// Device remote wakeup stats
//xdata  unsigned char	Slave_inEPstall;		// EP0 ~ EP7's IN stall status
//xdata  unsigned char	Slave_outEPstall;		// EP0 ~ EP7's OUT stall status
//xdata  unsigned char	Slave_IfcAlt[MAXIFCNUM];// 8 interface(Ep0~7) contain alternate setting value

//xdata  unsigned char	Audio_Keys;				// Audio Control BitMap
//xdata  unsigned char	Prev_Audio_Keys;
//xdata  unsigned char	Internet_Keys;			// Internet Control BitMap
//xdata  unsigned char	Prev_Internet_Keys;

unsigned char key[49]={0x01,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,
                       0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
					   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,
					   0xef,0x14,0x00,0x00,0x00,0x00,0x23,0x03,0x77,0x01,
					   0x1d,0x02,0x00,0x02,0x00,0x01,0x80,0x02,0x00};

//#define    XBYTE ((unsigned char volatile xdata *) 0)
//#define    SL811H_ADDR   XBYTE[0x7eff]
//#define    SL811H_DATA   XBYTE[0x7fff]
                                                            
typedef struct				
{
    unsigned char bmRequest;					// SETUP Token Protocol
    unsigned char bRequest;
    unsigned short wValue;
    unsigned short wIndex;
    unsigned short wLength;
} 	SetupPKG, *pSetupPKG;

  unsigned char     Slave_USBaddr;
  unsigned char     Slave_ConfigVal;
  unsigned char     Slave_Protocol;
  unsigned char     Slave_IdleRate;
  unsigned char     Slave_RemoteWU;
  unsigned char     Slave_inEPstall;
  unsigned char     Slave_outEPstall;
  unsigned char     Slave_IfcAlt[MAXIFCNUM];

 unsigned char     key_temp;
 unsigned char     kc1,kc2;
 unsigned char     kc3,kc4;
// unsigned char     kc5,kc6;
// unsigned char    Internet_Keys;
 //unsigned char    Prev_Internet_Keys;

SetupPKG 	dReq;					// Setup token struct
unsigned short		len_req;				// length of data for EP0
unsigned short		sof_cnt;				// 1ms counter
unsigned char		ep1_toggle;				// EP1 DATA toggle state
unsigned char		in_buffer_idx;			// EP0 IN data buffer tracking
unsigned char bdata 	flags;					// Flag Bitmap
sbit dev_first  = flags ^ 0;		// status for 8- unsigned char EP0 transfer
sbit timeout  	= flags ^ 1;		// time out for debounce
sbit enum_done 	= flags ^ 2;		// end of enum, (end of report descp)

//extern 	 unsigned char 	Toggle_SW;			// Toggle switch

bit 		IN_NULL;				// EP0's IN null packet transmission
bit 		IN_EXACT;				// EP0's IN data length requested is extact of EP0_LEN
bit 		BUS_POWERED;			// Bus powered device 

  //typedef  unsigned char  BYTE;
  //typedef  unsigned short WORD;
  //typedef  unsigned long  DWORD;
 // typedef  bit            BOOL;



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -