📄 typeb.h
字号:
#ifndef _typeb_h_
#define _typeb_h_
/********************RC500命令宏定义*****************/
// Important registers of the MF RC500 reader module
// PAGE 0 Command and Status
#define RegPage 0x00 // Page Select Register
#define RegCommand 0x01 // Command Register
#define RegFIFOData 0x02 // FiFo Register
#define RegPrimaryStatus 0x03 // Modem State/IRQ/ERR/LoHiAlert Reg
#define RegFIFOLength 0x04 // Buffer lenght Register
#define RegSecondaryStatus 0x05
#define RegInterruptEn 0x06 // IRQ enable Register
#define RegInterruptRq 0x07 // IRQ bits Register
// PAGE 1 Control and Status
#define RegControl 0x09 // processor control
#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 //!< RFU
#define RegTestAnaSelect 0x3A //!< selects analog test mode
#define RFU3B 0x3B //!< RFU
#define RFU3C 0x3C //!< RFU
#define RegTestDigiSelect 0x3D //!< selects digital test mode
#define RFU3E 0x3E //!< RFU
#define RFU3F 0x3F
#define DEF_FIFO_LENGTH 64
#define PCD_IDLE 0x00
#define PCD_WRITEE2 0x01
#define PCD_READE2 0x03
#define PCD_LOADCONFIG 0x07
#define PCD_LOADKEYE2 0x0B
#define PCD_AUTHENT1 0x0C
#define PCD_CALCCRC 0x12
#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 PICC_REQIDL 0x26
#define PICC_REQALL 0x52
#define PICC_ANTICOLL1 0x93
#define PICC_ANTICOLL2 0x95
#define PICC_ANTICOLL3 0x97
#define PICC_AUTHENT1A 0x60
#define PICC_AUTHENT1B 0x61
#define PICC_READ 0x30
#define PICC_WRITE 0xA0
#define PICC_DECREMENT 0xC0
#define PICC_INCREMENT 0xC1
#define PICC_RESTORE 0xC2
#define PICC_TRANSFER 0xB0
#define PICC_HALT 0x50
/*****************************************************************************
*和RC500通讯时返回的错误代码
*****************************************************************************/
#define MI_OK 0
#define MI_CHK_OK 0
#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_COM_ERR (-125)
//ISO14443B COMMAND
/////////////////////////////////////////////////////////////////////
#define ISO14443B_ANTICOLLISION 0x05
#define ISO14443B_ATTRIB 0x1D
#define ISO14443B_HLTB 0x50
#define TYPEA 0x00
#define TYPEB 0X01
#define FSDI 64
#define PICC_REQBSTD 0x00 // request normal
#define PICC_REQBWUP 0x08 // request wakeup
extern unsigned char M500PcdReset(void);
extern void ClearBitMask(unsigned char,unsigned char);
extern void PcdSetTmo(unsigned char);
extern unsigned char PcdComTransceive(struct TranSciveBuffer *pi);
extern void SetBitMask(unsigned char,unsigned char);
extern char M531PiccRequestB(unsigned char req_code,
unsigned char AFI,
unsigned char N,
unsigned char *ATQB);
extern unsigned char M500PcdConfigISOType(unsigned char);
extern unsigned char PcdAnticoll(unsigned char *snr); //读取卡片序列号函数;
extern void M500PcdConfig(void); //SLRC632配置
extern unsigned char PcdAntennaOn(void);//开启天线
extern void PcdAntennaOff(void); //关闭天线
extern void system_initial(void); //系统初始化
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -