/*************************** (C) COPYRIGHT 2017 CXHY ****************************
 * 文件名  ：RFID_IC.h
 * 描  述  ：RFID_IC卡驱动程序    
 * 版  本  ：V1.0
 * 作  者  ：XuZhongPing
 * 日  期  ：2017/03/06 
*********************************************************************************/
#ifndef __RFID_IC_H
#define __RFID_IC_H	
#include "stm32f10x.h"

extern uint8_t RFID_ID[16];						//存放RFID卡号，刚从IC卡块区读出来的数据（十六进制保存）
extern uint8_t cardNumberBit[32];			//解析分离出来的卡号（十进制表示）
extern uint8_t cardNumberStr[33];			//解析分离出来的卡号（字符串表示）
extern uint8_t createCardNum[16];			//生成的IC卡号保存内容
extern uint8_t cardNumberLen;					//IC卡号内容长度
extern uint8_t RFID_state;						//RFID_IC刷卡状态（有无刷卡1：有刷卡，0：无刷卡）

extern uint8_t cardSetWorkMode;				//IC卡模块工作模式
extern uint8_t cardSetReadBlock;			//IC卡模块读取的块号
extern uint8_t cardSetUploadMode;			//IC卡数据上传模式

extern uint8_t cardSetKeyA[6];				//IC卡读写KeyA
extern uint8_t cardSetKeyCtrlBit[4];	//IC卡读写控制位
extern uint8_t cardSetKeyB[6];				//IC卡读写KeyB

extern uint8_t originalPassword[6];		//IC卡原始密码

extern uint32_t cardNumberAreaCode;		//IC卡号区号（前6位）
extern uint32_t cardNumberSerialNum;	//IC卡号流水号（第7-14位）

void RFID_Init(void);
void RFID_PowerON(void);
void RFID_PowerOFF(void);
void IC_CardDecode(void);

void IC_CarderReset(void);
void IC_CarderWorkModeSet(uint8_t mode, uint8_t block, uint8_t outputMode);
void IC_CarderKeySet(uint8_t *keyA, uint8_t *keyCtrlBit, uint8_t *keyB);
void RFID_SectorEncrypt(uint8_t blockNumber);
void RFID_WriteDataToBlock(uint8_t *datain, uint8_t block);
void SetRFID_Param(void);
void ConfigureDoorKey(uint32_t id);
void WriteIC_CardNumber(uint32_t areaCode, uint32_t serialNum);
#endif

/******************** (C) COPYRIGHT 2017 CXHY *****END OF FILE*******************/
