亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? rfmodulefunc.h

?? RC522完整程序無需修改可放心使用
?? H
字號:


#ifndef __RF_MODULE_FUNC_H__
#define __RF_MODULE_FUNC_H__

//Mifare函數返回值定義
#define MI_OK                           0
#define MI_CHK_OK                       0
#define MI_CRC_ZERO                     0

#define MI_CRC_NOTZERO                  1

#define MI_NOTAGERR                     1
#define MI_CHK_FAILED                   1
#define MI_CRCERR                       2
#define MI_CHK_COMPERR                  2
#define MI_EMPTY                        3
#define MI_AUTHERR                      4
#define MI_PARITYERR                    5
#define MI_CODEERR                      6

#define MI_SERNRERR                     8
#define MI_KEYERR                       9
#define MI_NOTAUTHERR                   10
#define MI_BITCOUNTERR                  11
#define MI_BYTECOUNTERR                 12
#define MI_IDLE                         13
#define MI_TRANSERR                     14
#define MI_WRITEERR                     15
#define MI_INCRERR                      16
#define MI_DECRERR                      17
#define MI_READERR                      18
#define MI_OVFLERR                      19
#define MI_POLLING                      20
#define MI_FRAMINGERR                   21
#define MI_ACCESSERR                    22
#define MI_UNKNOWN_COMMAND              23
#define MI_COLLERR                      24
#define MI_RESETERR                     25
#define MI_INITERR                      25
#define MI_INTERFACEERR                 26
#define MI_ACCESSTIMEOUT                27
#define MI_NOBITWISEANTICOLL            28
#define MI_QUIT                         30
#define MI_RECBUF_OVERFLOW              50 
#define MI_SENDBYTENR                   51
	
#define MI_SENDBUF_OVERFLOW             53
#define MI_BAUDRATE_NOT_SUPPORTED       54
#define MI_SAME_BAUDRATE_REQUIRED       55

#define MI_WRONG_PARAMETER_VALUE        60

#define MI_BREAK                        99
#define MI_NY_IMPLEMENTED               100
#define MI_NO_MFRC                      101
#define MI_MFRC_NOTAUTH                 102
#define MI_WRONG_DES_MODE               103
#define MI_HOST_AUTH_FAILED             104

#define MI_WRONG_LOAD_MODE              106
#define MI_WRONG_DESKEY                 107
#define MI_MKLOAD_FAILED                108
#define MI_FIFOERR                      109
#define MI_WRONG_ADDR                   110
#define MI_DESKEYLOAD_FAILED            111

#define MI_WRONG_SEL_CNT                114

#define MI_WRONG_TEST_MODE              117
#define MI_TEST_FAILED                  118
#define MI_TOC_ERROR                    119
#define MI_COMM_ABORT                   120
#define MI_INVALID_BASE                 121
#define MI_MFRC_RESET                   122
#define MI_WRONG_VALUE                  123
#define MI_VALERR                       124
#define MI_SAKERR                       0x46	//added by robbie

//rf  Error
#define  RF_OK		 		     0
#define  RF_ERR  			     255

//常量定義
#define ALL_CARD    			1
#define	IDLE_CARD				0
#define KEYA					0x00
#define KEYB					0x04
#define DECREMENT				0xc0
#define INCREMENT				0xc1
#define RESTORE  				0xc2
//卡類定義
#define 	MIFARE_PRO		2
#define 	MIFARE_ONE		4
#define 	MIFARE_LIGHT	16
//define rf_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

#define ERROR_BLOCK_VERIFY					150	//塊數據校驗出錯
#define ERROR_BUSINESS_INFO_INVALID			151	//交易信息數據非法,無法恢復
#define ERROR_BUSINESS_LIMIT_INFO_INVALID	152	//交易特別限制信息非法,無法恢復
#define ERROR_PUBLIC_MONEY_INVALID			153	//公共錢包數據非法,無法恢復
#define ERROR_NO_COMPLITE					154	//卡操作未完成,需重刷,否則有可能多扣款
#define ERROR_PARAMETER_INVALID				155	//參數無效
#define ERROR_FILL_INFO_VALID				156	//充值記錄無效

//=============================結構表定義==============================
//卡結構分配表(共16字節對應16個扇區,已劃分7個扇區)
typedef struct _CARD_STRUCT{
	unsigned char cCompanyInfoSector;	//公司信息扇區地址
	unsigned char cCardholderInfoSector;//持卡人信息扇區地址
	unsigned char cPublicMoneySector;	//公共錢包區地址
	unsigned char cBusinessInfoSector;	//交易信息區
	unsigned char cTimeCounterSector;	//計時信息區
	unsigned char cOrderDinnerSector;	//訂餐信息區
	unsigned char cBusinessLimitInfoSector;	//交易特別限制信息區
	unsigned char cReserve8;			//備用8
	unsigned char cReserve9;			//備用9
	unsigned char cReserve10;			//備用10
	unsigned char cReserve11;			//備用11
	unsigned char cReserve12;			//備用12
	unsigned char cReserve13;			//備用13
	unsigned char cReserve14;			//備用14
	unsigned char cReserve15;			//備用15
	unsigned char cReserve16;			//備用16
}sttCardStruct;

//公司信息結構(共15字節)
typedef struct _COMPANY_INFO{
	unsigned char cCompanyNumber[4];		//公司編碼
	unsigned char cSubCompanyNumber[5];		//子公司編碼
	unsigned char cCompanyAddressNumber[6];	//公司地址編碼
}sttCompanyInfo;

//持卡人信息結構(40字節)
typedef struct _CARDHOLDER_INFO{
	unsigned char cNumber[10];		//持卡人編號
	unsigned char cSerialNo[3];		//發卡流水號
	unsigned char cName[16];		//持卡人姓名
	unsigned char cCardType[2];		//卡類
	unsigned char cActiveDate[3];	//啟用日期 YY MM DD
	unsigned char cInvalidDate[3];	//有效日期 YY MM DD
	unsigned char cPassword[3];		//密碼
	unsigned char cState;			//狀態
}sttCardholderInfo;

//充值信息結構(15字節)
typedef struct _FILL_INFO{
	unsigned char cDateTime[6];			//充值日期時間,格式:YY MM DD HH MM SS
	long		  lMoney;				//充值金額
	int			  iTimes;				//充值次數
	unsigned char cDeviceNo[2];			//設備編號
	unsigned char cMode;				//充值類別
}sttFillInfo;

//交易信息結構(29字節基本信息+15字節充值信息=44字節)
typedef struct _BUSINESS_INFO{
	long          lMoney;				//貨幣錢包金額
	unsigned int  iTimes;				//次錢包值
	unsigned char cDate[3];				//交易日期 YY MM DD
	unsigned char cIndex[3];			//交易流水號
	unsigned char cDayTotalTimes;		//日累計交易次數
	unsigned int  iMonthTotalTimes;		//月累計交易次數
	unsigned char cDayTotalMoney[3];	//日累計交易金額
	unsigned char cMonthTotalMoney[3];	//月累計交易金額
	unsigned char cLimit[8];			//8類累計交易次數
	sttFillInfo   stFillInfo;			//充值信息
}sttBusinessInfo;

//訂餐信息結構(14字節)
typedef struct _ORDER_DINNER_INFO{
	unsigned char cDateTime1[6];		//訂餐時間1
	unsigned char cOrderMode1;			//訂餐時間1的訂餐模式
	unsigned char cDateTime2[6];		//訂餐時間2
	unsigned char cOrderMode2;			//訂餐時間2的訂餐模式
}sttOrderDinnerInfo;

//計時消費信息結構(12字節)
typedef struct _TIME_COUNT_INFO{
	unsigned char cStartDateTime[6];	//開始時間
	unsigned char cStopDateTime[6];		//結束時間
}sttTimeCountInfo;

//========================函數聲明=========================
//----------------------模塊信息函數-----------------------
//取得RfModule模塊版本號
unsigned char RfModule_GetVersion(unsigned char *Version);
//取得模塊內部信息
unsigned char mifs_get_info(unsigned char *_Info);
//------------------Mifare模塊基本操作函數-----------------
//RfModule初始化
void  Rf_Init(void);
//Rf模塊重新初始化(Rf模塊內已經初始化,可不調用此函數)
unsigned char mifs_config(void);
//尋卡
//_Mode:尋卡模式,值為IDLE_CARD或ALL_CARD
//_TagType[2]:	返回尋到的卡類等值
//返回:見錯誤代碼定義
unsigned char mifs_request(unsigned char _Mode,unsigned char *_TagType);
//防沖突
//_Bcnt: 值為0-32 0為找一張最安全的卡
//_SNR[4]:返回尋到的卡系列號
//返回:見錯誤代碼定義
unsigned char mifs_anticoll(unsigned char _Bcnt,unsigned char *_SNR);
//選擇卡
//_SNR:要選取的卡系列號
//_Size: 返回選卡結果
//返回:見錯誤代碼定義
unsigned char mifs_select(unsigned char *_SNR,unsigned char *_Size);
//開始校驗密鑰(密鑰存在RC500內)
//_Mode:校驗模式,KEYA為校驗A密鑰,KEYB為校驗B密鑰
//_SecNr:要較驗的扇區0-15
unsigned char mifs_authentication(unsigned char _Mode,unsigned char _SecNr);
//直接校驗密碼(校驗最后一次選擇的卡)
//_Mode:校驗模式,KEYA為校驗A密鑰,KEYB為校驗B密鑰
//_SecNr[4]:要校驗密鑰的卡系列號
//_Key[6]: 具體密鑰
//返回:見錯誤代碼定義
unsigned char mifs_authKey(unsigned char _Mode,
						   unsigned char _SecNr,
						   unsigned char *_Key);
//加載密碼到RC500內存中
//_Mode:密鑰類別,KEYA為A密鑰,KEYB為B密鑰
//_SecNr:密鑰對應的扇區,值0-15
//_Nkey[6]: 具體密鑰
//返回:見錯誤代碼定義
unsigned char mifs_load_key(unsigned char _Mode,
							unsigned char _SecNr,
							unsigned char *_Nkey);
//增值操作
//_Adr:操作數據塊,值為1-62(扣除密鑰塊)
//_Value: 操作值指針,C51格式,高字節在前,低字節在后
//返回:見錯誤代碼定義
unsigned char mifs_increment(unsigned char _Adr,long *_Value);
//減值操作
//_Adr:操作數據塊,值為1-62(扣除密鑰塊)
//_Value: 操作值指針,C51格式,高字節在前,低字節在后
//返回:見錯誤代碼定義
unsigned char mifs_decrement(unsigned char _Adr,long *_Value);
//增減值操作
//_Mode:操作模式,DECREMENT減值操作,INCREMENT增值操作
//_Adr:源數據塊,值為1-62(扣除密鑰塊)
//_Value: 操作值指針,C51格式,高字節在前,低字節在后
//_Trans_Adr:目標數據據塊,值為1-62(扣除密鑰塊),
//注:目錄數據塊必須同源數據塊同一個扇區,可以同一個塊
//返回:見錯誤代碼定義
unsigned char mifs_value(unsigned char _Mode,
						 unsigned char _Adr,
						 long *_Value,
						 unsigned char _Trans_Adr);
//讀卡
//_Adr:要讀的塊,值0-63
//_Data[16]:返回讀出的數據
//返回:見錯誤代碼定義
unsigned char mifs_read(unsigned char _Adr,unsigned char *_Data);
//寫卡
//_Adr:要寫的塊,值1-63
//_Data[16]:返回讀出的數據
//返回:見錯誤代碼定義
unsigned char mifs_write(unsigned char _Adr,unsigned char *_Data);
//停止當前卡
//返回:見錯誤代碼定義
unsigned char mifs_halt(void);
//復位當前卡
//_Msec:延時ms
//返回:見錯誤代碼定義
unsigned char mifs_reset(unsigned char _Msec);
//關掉RC500
//返回:見錯誤代碼定義
unsigned char mifs_close(void);
//寫模塊內RC500的EEPROM
//_Adr:寫入開始地址
//_Length:寫入長度
//_Data:寫入數據
//返回:見錯誤代碼定義
unsigned char mifs_read_E2(unsigned char _Adr,
						   unsigned char _Length,
						   unsigned char *_Data);
//讀模塊內RC500的EEPROM
//_Adr:讀開始地址
//_Length:讀出長度
//_Data:讀出數據
//返回:見錯誤代碼定義
unsigned char mifs_write_E2(unsigned char _Adr,
							unsigned char _Length,
							unsigned char *_Data);

char SetCardApplicationSector(sttCardStruct *pstCardStruct);

char GetCardApplicationSector(sttCardStruct *pstCardStruct);

char RfIsCardIn(unsigned char CardSerialNo[]);

char ReadCompanyInfo(unsigned char CardSerialNo[],
					 unsigned char AuthMode,
					 unsigned char Key[],
					 sttCompanyInfo *pstCompanyInfo);

char ReadCardholderInfo(unsigned char CardSerialNo[],
						unsigned char AuthMode,
						unsigned char Key[],
					    sttCardholderInfo *pstCardholderInfo);

char ReadBusinessInfo(unsigned char CardSerialNo[],
					  unsigned char AuthMode,
					  unsigned char Key[],
					  sttBusinessInfo *pstBusinessInfo);

char Consume(unsigned char CardSerialNo[],
			 unsigned char Date[],
			 unsigned char Index,
			 long lExpenditure,
			 unsigned char Flag,
			 sttBusinessInfo *pstBusinessInfo);


char ReadOrderDinnerInfoSector(unsigned char CardSerialNo[],
							   unsigned char AuthMode,
							   unsigned char Key[],
							   sttOrderDinnerInfo *pstOrderDinnerInfo);


char WriteOrderDinnerInfo(unsigned char Index,
						  unsigned char DateTime[],
						  unsigned char OrderMode);

char SetCardState(unsigned char CardSerialNo[],
				  unsigned char AuthMode,
			      unsigned char Key[],
				  unsigned char State);




char Fill(unsigned char CardSerialNo[], 
		  sttBusinessInfo *pstBusinessInfo);


#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99精品国产一区二区三区不卡| 91久久一区二区| 欧美精品一区二区三区蜜桃视频| 亚洲成在线观看| 91九色02白丝porn| 亚洲另类春色校园小说| jiyouzz国产精品久久| 欧美激情一二三区| 高清国产午夜精品久久久久久| 久久久亚洲综合| 国产麻豆日韩欧美久久| 亚洲精品一区二区三区香蕉| 精品一区二区三区不卡| 欧美大肚乱孕交hd孕妇| 美女脱光内衣内裤视频久久网站| 欧美一区欧美二区| 美女脱光内衣内裤视频久久网站 | 99久久精品免费观看| 日本一区二区视频在线观看| 国产69精品久久777的优势| 国产欧美一区二区精品婷婷| 成人自拍视频在线观看| 国产精品久久久99| 一本大道av一区二区在线播放| 亚洲欧美另类综合偷拍| 在线观看三级视频欧美| 婷婷综合久久一区二区三区| 在线电影欧美成精品| 日本一道高清亚洲日美韩| 欧美成人三级电影在线| 国内精品免费在线观看| 欧美国产乱子伦| 不卡视频在线观看| 亚洲美女一区二区三区| 欧美日韩高清不卡| 免费高清视频精品| 国产视频在线观看一区二区三区| 懂色一区二区三区免费观看 | 中文字幕亚洲在| 在线中文字幕不卡| 日韩国产欧美视频| 久久精品亚洲国产奇米99| 国产成人在线视频网站| 一色屋精品亚洲香蕉网站| 欧洲av在线精品| 美女高潮久久久| 久久精品人人爽人人爽| 91免费观看在线| 丝袜亚洲精品中文字幕一区| 2014亚洲片线观看视频免费| 成人av在线网站| 亚洲午夜精品网| 精品国产一二三| 91丨九色porny丨蝌蚪| 午夜精品久久久久久久久久| 精品国产乱码久久久久久1区2区| 成人黄色免费短视频| 亚洲午夜久久久久久久久电影院 | 精品国产髙清在线看国产毛片| 国产传媒日韩欧美成人| 一区二区在线观看视频| 日韩视频免费观看高清完整版| 国产精品18久久久久久vr| 一区免费观看视频| 91麻豆精品国产91久久久久久久久| 精品一区二区日韩| 亚洲精品视频观看| 337p粉嫩大胆色噜噜噜噜亚洲| 91免费精品国自产拍在线不卡| 美洲天堂一区二卡三卡四卡视频| 国产精品三级久久久久三级| 5566中文字幕一区二区电影| 成人午夜电影网站| 日韩高清电影一区| 亚洲欧美怡红院| 日韩欧美一区二区久久婷婷| 91蜜桃视频在线| 精品在线一区二区三区| 亚洲精品美腿丝袜| 久久久久成人黄色影片| 欧美性感一区二区三区| 国产精品一二三区在线| 午夜视频一区二区| 国产精品视频免费| 日韩欧美一二三区| 91久久免费观看| 国产精品888| 日本成人在线电影网| 亚洲视频一二三区| 亚洲精品一线二线三线| 欧美日韩在线电影| 成人看片黄a免费看在线| 蜜臀久久99精品久久久画质超高清| 国产精品区一区二区三| 日韩精品专区在线影院重磅| 日本韩国精品在线| 国产成人精品免费视频网站| 日本欧美一区二区| 亚洲最新在线观看| 国产精品午夜在线观看| 精品少妇一区二区三区视频免付费 | 欧美v日韩v国产v| 欧美三级视频在线| 99国产麻豆精品| 国产精品一二一区| 日韩综合小视频| 玉米视频成人免费看| 亚洲国产精品99久久久久久久久| 日韩一区二区视频| 欧美群妇大交群中文字幕| 色综合久久综合网欧美综合网 | 国产综合久久久久久鬼色| 日韩中文字幕av电影| 亚洲精品自拍动漫在线| 欧美国产禁国产网站cc| 亚洲精品在线免费播放| 日韩精品一区二区三区在线播放 | 精品无人码麻豆乱码1区2区| 首页国产欧美久久| 亚洲制服丝袜av| 一区二区三区在线视频免费观看| 中文一区一区三区高中清不卡| 久久综合中文字幕| 精品乱码亚洲一区二区不卡| 日韩一区二区视频| 欧美一级视频精品观看| 欧美精选在线播放| 欧美日韩性生活| 欧美性大战xxxxx久久久| 中文字幕一区二区视频| 91在线精品一区二区| 在线免费不卡视频| 一本一本大道香蕉久在线精品 | 久久精子c满五个校花| 久久久亚洲精华液精华液精华液| 精品久久久久久久一区二区蜜臀| 日韩美女一区二区三区四区| 日韩一区二区三区av| 日韩午夜激情免费电影| 日韩一二在线观看| 日韩欧美国产精品一区| 日韩视频免费观看高清完整版| 欧美一区二区三区在线观看| 欧美电视剧免费全集观看| 久久综合色一综合色88| 久久久国产精品午夜一区ai换脸| 国产三级欧美三级| 亚洲国产精品精华液2区45| 国产精品午夜在线| 亚洲乱码精品一二三四区日韩在线| 亚洲人吸女人奶水| 亚洲欧美日韩一区| 亚洲成在人线在线播放| 美女视频网站久久| 国产精品亚洲一区二区三区妖精| 懂色av噜噜一区二区三区av| 99久久久久久| 欧美中文一区二区三区| 欧美日韩高清一区二区不卡| 日韩一级二级三级| 久久久久久久久久久99999| 国产精品伦一区二区三级视频| 中文字幕一区二区三区不卡在线 | 中文字幕在线视频一区| 亚洲精品免费在线播放| 天天综合色天天综合色h| 精品一区二区三区免费毛片爱| 国产白丝精品91爽爽久久 | 91原创在线视频| 欧美视频一区二区三区在线观看| 欧美一区二区视频观看视频| 欧美精品一区二区三区高清aⅴ| 国产精品女人毛片| 亚洲成人精品一区| 黄页视频在线91| 成人午夜在线播放| 在线免费观看日本一区| 国产呦精品一区二区三区网站| 成人av资源站| 在线成人av网站| 久久亚洲精品小早川怜子| 亚洲日本护士毛茸茸| 日韩中文字幕区一区有砖一区| 国产成人一级电影| 色94色欧美sute亚洲13| 日韩一区二区影院| 中文字幕亚洲精品在线观看| 日韩电影在线一区二区| 国产不卡视频一区| 欧美另类高清zo欧美| 国产日韩成人精品| 午夜精品在线看| 成人教育av在线| 欧美群妇大交群的观看方式| 日本一区二区三区国色天香| 亚洲综合免费观看高清在线观看| 麻豆精品国产传媒mv男同| 成人av电影在线| 欧美日本在线看| 中文字幕一区二区三区在线不卡|