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

📄 zlg500c.h

📁 RC5000读卡芯片和LPC213X的源码参考程序 内含详细说明
💻 H
字号:
#ifdef zlg500c_GLOBALS
	#define zlg500c_EXT
#else
	#define zlg500c_EXT	extern
#endif

#define GetDvcSnr_en		1
#define SetSlvAddr_en		1
#define GetSlvAddr_en		1
#define SetBaud_en			1
#define FindSlv_en			1

#define GetDvcInfo_en		1
#define PCDConfig_en		1
#define PCDClose_en			1
#define PCDType_en			0
#define PCDLoadKey_en		1
#define PCDWriteReg_en		1
#define PCDReadReg_en		1
#define DvcReadIO_en		1
#define DvcClearIO_en		1
#define DvcSetIO_en			1
#define DvcSurgeIO_en		1
#define DvcSetAutoDctct_en	1
#define ExchangeBlock_en	0

#define PiccRequest_en		1
#define PiccAnticoll_en		1
#define PiccSelect_en		1
#define PiccHalt_en			1
#define PiccAuthE2_en		1
#define PiccAuthKey_en		0
#define PiccRead_en			1
#define PiccWrite_en		1
#define PiccULWrite_en		0
#define PiccValue_en		1
#define PiccValueDebit_en	0
#define PiccReset_en		0
#define PiccActiveTypeA_en	0

zlg500c_EXT  uint8 SlvAddr;
zlg500c_EXT volatile uint8 WAITRESPDLY;

//定义A型卡命令
#define REQSTD		0x26	
#define REQALL		0x52
//#define SELCODE1	0x93
#define SELCODE1	0x93
#define SELCODE2	0x95
#define SELCODE3	0x97
#define KEYA		0x60
#define KEYB		0x61
#define DECREMENT	0xc0
#define INCREMENT	0xc1
#define RESTORE		0xc2
#define ISO14443A	0x00
#define ISO14443B	0x80

//定义返回错误代码
#define OK			0
#define COMMERR		1
#define SEQERR		2
#define ADDRERR		3 

//声明协议控制函数
zlg500c_EXT uint8 GetDvcSnr(uint8 *DvcSnr);
zlg500c_EXT uint8 SetSlvAddr(uint8 NewAddr,uint8 *DvcSnr);
zlg500c_EXT uint8 GetSlvAddr(uint8 *Addr,uint8 *DvcSnr);
zlg500c_EXT uint8 SetBaud(uint8 NewBaud);
zlg500c_EXT uint8 FindSlv(uint8 SAddr,uint8 EAddr,uint8 *SlvNum,uint8 *SlvBfr);

//声明设备控制函数
zlg500c_EXT uint8 GetDvcInfo(uint8 *DvcInfo);
zlg500c_EXT uint8 PCDConfig(void);
zlg500c_EXT uint8 PCDClose(void);
zlg500c_EXT uint8 PCDType(uint8 ISOType);
zlg500c_EXT uint8 PCDLoadKey(uint8 KEYAB,uint8 SecNr,uint8 *Key);
zlg500c_EXT uint8 PCDWriteReg(uint8 RegAddr,uint8 RegValue);
zlg500c_EXT uint8 PCDReadReg(uint8 RegAddr,uint8 *RegValue);
zlg500c_EXT uint8 DvcReadIO(uint8 *IOValue);
zlg500c_EXT uint8 DvcClearIO(uint8 ClrMask,uint8 _10ms);
zlg500c_EXT uint8 DvcSetIO(uint8 SetMask,uint8 _10ms);
zlg500c_EXT uint8 DvcSurgeIO(uint8 IOMask,uint8 SIOSta,uint8 EIOSta,uint8 FstSta1_10ms,
					uint8 FstSta2_10ms,uint8 Sta1_10ms,uint8 Sta2_10ms,uint8 RptCnt);
zlg500c_EXT uint8 DvcSetAutoDctct(uint8 ISOType,uint8 Req_Code,
				uint8 IOClrMask,uint8 IOSetMask,uint8 Ser_Mode);
zlg500c_EXT uint8 ExchangeBlock(uint8 *Send_Bfr,
								uint8 Send_Byte_Len,
								uint8 *Rcv_Bfr,
								uint8 *Rcv_Byte_Len,
								uint8 Append_CRC,
								uint8 FWI);
//声明ISO14443A命令函数
zlg500c_EXT uint8 PiccRequest(uint8 Req_Code,uint8 *TagType);
zlg500c_EXT uint8 PiccAnticoll(uint8 Sel_Code,uint8 Bcnt,uint8 *PiccSnr);
zlg500c_EXT uint8 PiccSelect(uint8 Sel_Code,uint8 *PiccSnr,uint8 *Sak);
zlg500c_EXT uint8 PiccHalt(void);
zlg500c_EXT uint8 PiccAuthE2(uint8 KeyAB,uint8 *PiccSnr,uint8 SecNr,uint8 Block);
zlg500c_EXT uint8 PiccAuthKey(uint8 KeyAB,uint8 *PiccSnr,uint8 *Key,uint8 Block);
zlg500c_EXT uint8 PiccRead(uint8 Block,uint8 *Bfr);
zlg500c_EXT uint8 PiccWrite(uint8 Block,uint8 *Bfr);
zlg500c_EXT uint8 PiccULWrite(uint8 Block,uint8 *Bfr);
zlg500c_EXT uint8 PiccValue(uint8 Mode,uint8 Block,uint8 *Value,uint8 TransBlock);
zlg500c_EXT uint8 PiccValueDebit(uint8 Mode,uint8 Block,uint8 *Value);
zlg500c_EXT uint8 PiccReset(uint8 _1ms);
zlg500c_EXT uint8 PiccActiveTypeA(	uint8 BaudRate,
									uint8 Req_Code,
									uint8 *Atq,
									uint8 *Ats,
									uint8 *PiccSnrLen,
									uint8 *PiccSnr	);


⌨️ 快捷键说明

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