?? mfrc500.h
字號:
/////////////////////////////////////////////////////////////////////
//函數原型
/////////////////////////////////////////////////////////////////////
//復位MFRC500
char PcdReset(void);
//設置MFRC500寄存器參數
char PcdConfigISOType(unsigned char type);
//開啟RC500射頻發射
void PcdAntennaOn(void);
//關閉RC500射頻發射
void PcdAntennaOff(void);
//讀RC500_EEPROM
char PcdReadE2(unsigned int addr, unsigned char length, unsigned char *pData);
//寫RC500_EEPROM
char PcdWriteE2(unsigned int addr, unsigned char length, unsigned char *pData);
//寫RC500寄存器
void WriteRawRC(unsigned char Address,unsigned char value);
//讀RC500寄存器
unsigned char ReadRawRC(unsigned char Address);
//置RC500寄存器位
void SetBitMask(unsigned char reg,unsigned char mask);
//清RC500寄存器位
void ClearBitMask(unsigned char reg,unsigned char mask);
//設置RC500時鐘寄存器
void PcdSetTmo(unsigned char tmoLength);
//MFRC500和卡片通訊子函數
char PcdComISO14443(unsigned char PCD_Command,
unsigned char *pInData,
unsigned char InLenByte,
unsigned char *pOutData,
unsigned int *pOutLenBit);
/////////////////////////////////////////////////////////////////////
//RC500命令字
/////////////////////////////////////////////////////////////////////
#define PCD_IDLE 0x00 //取消當前命令
#define PCD_WRITEE2 0x01 //寫EEPROM
#define PCD_READE2 0x03 //讀EEPROM
#define PCD_LOADCONFIG 0x07 //調EEPROM中保存的寄存器設置
#define PCD_LOADKEYE2 0x0B //將EEPROM中保存的密鑰調入緩存
#define PCD_AUTHENT1 0x0C //驗證密鑰第一步
#define PCD_AUTHENT2 0x14 //驗證密鑰第二步
#define PCD_RECEIVE 0x16 //接收數據
#define PCD_LOADKEY 0x19 //傳送密鑰
#define PCD_TRANSMIT 0x1A //發送數據
#define PCD_TRANSCEIVE 0x1E //發送并接收數據
#define PCD_RESETPHASE 0x3F //復位
#define PCD_CALCCRC 0x12 //CRC計算
/////////////////////////////////////////////////////////////////////
//RC500 FIFO長度定義
/////////////////////////////////////////////////////////////////////
#define DEF_FIFO_LENGTH 64 //FIFO size=64byte
/////////////////////////////////////////////////////////////////////
//RC500寄存器定義
/////////////////////////////////////////////////////////////////////
// PAGE 0
#define RegPage 0x00
#define RegCommand 0x01
#define RegFIFOData 0x02
#define RegPrimaryStatus 0x03
#define RegFIFOLength 0x04
#define RegSecondaryStatus 0x05
#define RegInterruptEn 0x06
#define RegInterruptRq 0x07
// PAGE 1 Control and Status
#define RegControl 0x09
#define RegErrorFlag 0x0A
#define RegCollpos 0x0B
#define RegTimerValue 0x0C
#define RegCRCResultLSB 0x0D
#define RegCRCResultMSB 0x0E
#define RegBitFraming 0x0F
// PAGE 2 Transmitter and Coder Control
#define RegTxControl 0x11
#define RegCwConductance 0x12
#define RegModConductance 0x13
#define RegCoderControl 0x14
#define RegModWidth 0x15
#define RegModWidthSOF 0x16
#define RegTypeBFraming 0x17
// PAGE 3 Receiver and Decoder Control
#define RegRxControl1 0x19
#define RegDecoderControl 0x1A
#define RegBitPhase 0x1B
#define RegRxThreshold 0x1C
#define RegBPSKDemControl 0x1D
#define RegRxControl2 0x1E
#define RegClockQControl 0x1F
// PAGE 4 RF-Timing and Channel Redundancy
#define RegRxWait 0x21
#define RegChannelRedundancy 0x22
#define RegCRCPresetLSB 0x23
#define RegCRCPresetMSB 0x24
#define RegTimeSlotPeriod 0x25
#define RegMfOutSelect 0x26
#define RFU27 0x27
// PAGE 5 FIFO, Timer and IRQ-Pin Configuration
#define RegFIFOLevel 0x29
#define RegTimerClock 0x2A
#define RegTimerControl 0x2B
#define RegTimerReload 0x2C
#define RegIRqPinConfig 0x2D
#define RFU2E 0x2E
#define RFU2F 0x2F
// PAGE 6 RFU
#define RFU31 0x31
#define RFU32 0x32
#define RFU33 0x33
#define RFU34 0x34
#define RFU35 0x35
#define RFU36 0x36
#define RFU37 0x37
// PAGE 7 Test Control
#define RFU39 0x39
#define RegTestAnaSelect 0x3A
#define RFU3B 0x3B
#define RFU3C 0x3C
#define RegTestDigiSelect 0x3D
#define RFU3E 0x3E
#define RFU3F 0x3F
/////////////////////////////////////////////////////////////////////
//和RC632通訊時返回的錯誤代碼
/////////////////////////////////////////////////////////////////////
#define MI_OK 0
#define MI_ERR -1
#define MI_NOTAGERR (-2)
#define MI_ACCESSTIMEOUT (-3)
#define MI_COLLERR (-24)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -