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

📄 zlg500.h

📁 读卡程序
💻 H
字号:
#ifdef __SRC
	#define EXTERN
#else
	#define EXTERN	extern
#endif

#ifdef __SRC
//需要用到的函数设置为1,不需要的设置为0
	#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			1
	#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			1
	#define mifs_write_E2_en		0
	#define mifs_write_reg_en		1
	#define mifs_read_reg_en		1
#endif

//PICC Command
#define IDLE			0x00
#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

EXTERN uchar idata spi_buffer[26];
//define spi_buffer
#define SEQNR			0
#define COMMAND                 1
#define STATUS                  1

#define LENGTH                  2

#define MODE                    3
#define BCNT                    3
#define ADR                     3
#define SERNR                   3
#define SIZE                    3
#define TIME                    3
#define TAGTYPE                 3
#define INFO                    3
#define DATA					3

#define SECNR                   4
#define DATABYTES               4
#define VALUE                   4

#define NKEY                    5

#define AUTHMODE		7
#define ADRCHKWR		8
#define DATACHKWR		9


EXTERN uchar spi_init(void);
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 _10ms);
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

//spi Error
#define SPI_OK			0
#define SPI_ERR			255

//check write Error
#define MIS_CHK_OK              0
#define MIS_CHK_FAILED          1
#define MIS_CHK_COMPERR         2

#undef EXTERN

⌨️ 快捷键说明

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