www.pudn.com > RC500_RFID.rar > zlg500B.h


#ifdef __SRC 
 #define EXTERN 
#else 
 #define EXTERN		extern 
#endif 
 
#ifdef __SRC 
	#define mifs_request_en			1 
	#define mifs_anticoll_en		0 
	#define	mifs_anticoll2_en		0 
	#define mifs_cascanticoll_en	1 
	#define mifs_select_en			0 
	#define mifs_cascselect_en		1 
	#define mifs_authentication_en	1 
	#define mifs_authentication2_en	1 
	#define mifs_authKey_en			1 
	#define mifs_halt_en			1 
	#define mifs_read_en			1 
	#define mifs_write_en			1 
	#define mifs_ULwrite_en			1 
	#define mifs_increment_en		0 
	#define mifs_decrement_en		0 
	#define mifs_restore_en			0 
	#define mifs_transfer_en		0 
	#define mifs_value_en			1 
	#define mifs_valuedebit_en		1 
	#define mifs_load_key_en		1 
	#define mifs_reset_en			0 
	#define mifs_close_en			0 
	#define mifs_config_en			0 
	#define mifs_get_info_en		1 
	#define mifs_check_write_en		0 
	#define mifs_set_control_bit_en	1 
	#define mifs_clr_control_bit_en	1 
	#define mifs_buzzer_en			1 
	#define mifs_read_E2_en			0 
	#define mifs_write_E2_en		0 
	#define mifs_write_reg_en		1 
	#define mifs_read_reg_en		1 
#endif 
 
//PICC Command							//模式常量 
#define IDLE			0x00			//在选卡时HALT状态的卡除外 
#define ALL				0x01			// 
#define ANTICOLL1     	0x93			// anticollision level 1 
#define ANTICOLL2     	0x95			// anticollision level 2 
#define ANTICOLL3     	0x97			// anticollision level 3  
#define KEYA			0x00 
#define KEYB			0x04 
#define PICC_DECREMENT	0xC0 
#define PICC_INCREMENT	0xC1 
#define PICC_RESTORE	0xC2 
 
//定义通信帧常量 
#define STX		0x20 
#define ACK		0x06 
#define NAK		0x15 
#define ETX		0x03 
 
//数据缓冲区的索引常量 
#define SEQNR		0 
#define COMMAND		1	 
#define STATUS		1 
#define LENGTH		2		 
#define DATA		3 
 
//Communication Error 
#define COMM_OK			0x00 
#define COMM_ERR		0xff 
 
EXTERN uchar ser_buffer[30];		//数据发送与接收缓冲区 
EXTERN bit bdata newdata;			//全局的状态变量 
sbit CON_485=P0^7;           	    //我们这里没有485控制 
 
 
 
EXTERN uchar senddata(); 
EXTERN uchar mifs_request(uchar _Mode,uchar idata *_TagType); 
EXTERN uchar mifs_anticoll(uchar _Bcnt,uchar idata *_SNR); 
EXTERN uchar mifs_anticoll2(uchar _Encoll,uchar _Bcnt,uchar idata *_SNR); 
EXTERN uchar mifs_cascanticoll(uchar _Select_code,uchar _Bcnt,uchar *_SNR); 
EXTERN uchar mifs_select(uchar idata *_SNR,uchar idata *_Size); 
EXTERN uchar mifs_cascselect(uchar _Select_code,uchar *_SNR,uchar *_Sak); 
EXTERN uchar mifs_authentication(uchar _Mode,uchar _SecNr); 
EXTERN uchar mifs_authentication2(uchar _Mode,uchar _SecNr,uchar _KeyNr); 
EXTERN uchar mifs_authKey(uchar _Mode,uchar _SecNr,uchar *_Key); 
EXTERN uchar mifs_halt(void); 
EXTERN uchar mifs_read(uchar _Adr,uchar idata *_Data); 
EXTERN uchar mifs_write(uchar _Adr,uchar idata *_Data); 
EXTERN uchar mifs_ULwrite(uchar _Adr,uchar *_Data); 
EXTERN uchar mifs_increment(uchar _Adr,long idata *_Value); 
EXTERN uchar mifs_decrement(uchar _Adr,long idata *_Value); 
EXTERN uchar mifs_restore(uchar _Adr); 
EXTERN uchar mifs_transfer(uchar _Adr); 
EXTERN uchar mifs_value(uchar _Mode,uchar _Adr,long idata *_Value,uchar _Trans_Adr); 
EXTERN uchar mifs_valuedebit(uchar _Mode,uchar _Adr,long idata *_Value); 
EXTERN uchar mifs_load_key(uchar _Mode,uchar _SecNr,uchar *_Nkey); 
EXTERN uchar mifs_reset(uchar _Msec); 
EXTERN uchar mifs_close(void); 
EXTERN uchar mifs_config(void); 
EXTERN uchar mifs_get_info(uchar idata *_Info); 
EXTERN uchar mifs_check_write(uchar idata *_SNR,uchar _Authmode,uchar _Adr,uchar idata *_Data); 
EXTERN uchar mifs_set_control_bit(); 
EXTERN uchar mifs_clr_control_bit(); 
EXTERN uchar mifs_buzzer(uchar _Frquence,uchar _Opentm,uchar _Closetm,uchar _Repcnt); 
EXTERN uchar mifs_read_E2(uchar _Adr,uchar _Length,uchar idata *_Data); 
EXTERN uchar mifs_write_E2(uchar _Adr,uchar _Length,uchar idata *_Data); 
EXTERN uchar mifs_write_reg(uchar _Reg,uchar _Value); 
EXTERN uchar mifs_read_reg(uchar _Reg,uchar *_Value); 
 
//mifare error 
#define MI_OK				0 
#define MI_NOTAGERR         1 
#define MI_CRCERR           2 
#define MI_EMPTY			3 
#define MI_AUTHERR			4 
#define MI_PARITYERR		5 
#define MI_CODEERR			6 
 
#define MI_SERNRERR			8 
#define MI_NOTAUTHERR		10 
#define MI_BITCOUNTERR		11 
#define MI_BYTECOUNTERR		12 
#define MI_TRANSERR			14 
#define MI_WRITEERR			15 
#define MI_INCRERR			16 
#define MI_DECRERR			17 
#define MI_READERR			18 
#define MI_QUIT				30 
 
//check write Error 
#define MIS_CHK_OK          0 
#define MIS_CHK_FAILED      1 
#define MIS_CHK_COMPERR     2 
 
#undef EXTERN