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

📄 hid_usb.h

📁 HID-Ukey底层源码实现(st72651芯片) windows上层驱动
💻 H
字号:
	#define bTxOutCompleteFlag			    (UsbMessageFlags & TxOutCompleteFlag)
	#define Set_bTxOutCompleteFlag		(UsbMessageFlags |= TxOutCompleteFlag)
	#define Reset_bTxOutCompleteFlag	(UsbMessageFlags &= (~TxOutCompleteFlag))

	#define bTxInCompleteFlag					(UsbMessageFlags & TxInCompleteFlag)
	#define Set_bTxInCompleteFlag			(UsbMessageFlags |= TxInCompleteFlag)
	#define Reset_bTxInCompleteFlag		(UsbMessageFlags &= (~TxInCompleteFlag)) 


	#define bDataReadyFlag				(UsbMessageFlags & DataReadyFlag)
	#define Set_bDataReadyFlag		(UsbMessageFlags |= DataReadyFlag)
	#define Reset_bDataReadyFlag	(UsbMessageFlags &= (~DataReadyFlag))

	#define TxOutCompleteFlag	0x01				// for receive USB data
	#define TxInCompleteFlag		0x02				// for send USB data
	#define DataReadyFlag			0x08				// for process data ready or not

	#define CLA										0x02
	#define INS										0x03
	#define P1										0x04
	#define P2										0x05
	#define Lc										0x06
	#define Le										0x06


	#define ReportID							0x00
	#define Command								0x02   //@jin for special command eg. reset get atr
	#define MessageLength					0x01
	#define LcData								0x07
	#define LeData								0x02
	#define RecDataLength					0x01

	#define INSHeadLength					5					// head length of command
	#define ATRLENGTH						4

	#define NOCOMMAND					0x00
	#define CARDPOWERON				0x01
	#define CARDGETATR					0x02
	#define CARDCOMMAND1				0x03
	#define CARDCOMMAND2				0x04
	#define CARDCOMMAND3				0x05
	#define CARDCOMMAND4				0x06


	#define SENDINS	0x01
	#define RECEIVESW	0x02
	#define WAITRECEIVESW	0x03
	#define WAITRECEIVELEDATA	0x04
	#define WAITRECEIVEINS	0x05
	#define SENDLCDATA	0x06
	#define SENDGETRES	0x07
	#define WAITRECEIVERES 0x08


#pragma	CODE_SEG	CRD_ROM
extern void HID_MessageOut(void);
extern void HID_XfrApdu(void);
extern void IFD_XfrT0(void);
extern void HID_MessageIn(void);
extern void HID_IntMessage(void);

#pragma DATA_SEG	CRD_MESSAGE_BUFFER
extern unsigned char UsbMessageBuffer[200];

#pragma DATA_SEG	CRD_RAM
extern unsigned char CardStateFlag;
extern unsigned char	ReportStatus;
extern unsigned char UsbMessageFlags;
extern unsigned char ReceiveDataLength;
extern unsigned char ATRBuffer[ATRLENGTH];
extern unsigned char IccCommandINS;
extern struct
	{
	unsigned char cla;
	unsigned char ins;
	unsigned char p1;
	unsigned char p2;
	unsigned char lc;
	unsigned char le;
} IccCommandHead;				      //@jin0320  

#pragma DATA_SEG SHORT CRD_BIT_RAM
extern unsigned char *pUsbMessageBuffer;
extern unsigned char	ShiftBitFlag;  

//////////////////////////dy  

extern char uic_pass_verify();
#define APDU_Ture              0x00
#define APDU_False             0x01

/////////////////////////////dy

⌨️ 快捷键说明

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