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

📄 m500auc.h

📁 ISO14443协议的实现
💻 H
字号:
#ifndef  M500Auc
	#define  M500Auc
#define TRUE 1
#define FALSE 0
#define OSC_FREQ                22114800L

#define BAUD_115200              255
#define BAUD_57600               254
#define BAUD_38400              253
#define BAUD_28800              252
#define BAUD_19200              250
#define BAUD_14400              248
#define BAUD_9600               244
#define RCAP2_50us             65536L - OSC_FREQ/240417L
#define RCAP2_1ms              65536L - OSC_FREQ/12021L
#define RCAP2_10ms             65536L - OSC_FREQ/1200L
#define RCAP2_1s             65536L - OSC_FREQ/12L

#define CALL_isr_UART()         TI = 1
#define PICC_AUTHENT1A       0x60
#define   CAT45Read     0x45
#define   CAT45Write    0x46
#define   CChipToCard   0x47
#define   CCheck        0x50
#define   CPowerOn      0x51
#define   CPowerOff     0x52
#define   CICReset      0x53
#define   CCommand      0x56
#define   CGetTime      0x59
#define   CSetTime      0x5a
#define   CReadEdition  0x5f
#define   CSendPCagain  0x88

/*状态码*/
#define   SReadErr      0x80
#define   SWriteErr     0x81
#define   SCommandErr   0x82
#define   STimeOut      0x84
#define   SNoCard       0x85
#define   SVerifyErr    0x8a
#define   SIDErr        0x8b
#define   SLengthErr    0x91
#define   SNoReset      0x92
#define   SAddressErr   0x93
#define   SNotIblock    0x99
#define   SNoPowerOn    0x94

/*ID type*/
#define    CPUtype      0x0
#define    PCtype       0x5
#define    SAM1type     0x11
#define    SAM2type     0x22
#define    CHIP45type   0x4
#define    CARD45type   0x5
#define    MF1type      0x1
#define    MF2type      0x2
#define    AT24type     0x3


bit     STATE_FLAG;
bit     IC_REST_FLAG;//cpu card reset or no
bit	SAM_REST_FLAG;//sam card reset or no

bit	block_number;//MF2

bit     T0_T1_FLAG;
bit	CPU_T0_T1;//cpu card to_t1 flag
bit	SAM_T0_T1;//sam card t0_t1 flag

bit	CPU_block_num;
bit	CPU_block;//cpu card I_block number
bit	SAM_block;//sam card I_block number
bit     ESint;//ES interrupt flag
bit     PowerDown;/*正常情况下(PowerDown = 0)插卡既上电 拔卡瞬间既断电*/
                          /*收到CPowerOff命令后PowerDown = 1,卡断电;直至收到CPowerOn命令后卡上电,PowerDown = 0*/
bit     forPowerdown;

unsigned char data SerBuffer[64];

bit CmdValid;
unsigned char cardtype;
typedef struct
         {
            unsigned char  cmd;
            char           status;
            unsigned char  nBytesSent;
            unsigned char  nBytesToSend;
            unsigned char  nBytesReceived;
            unsigned short nBitsReceived;
            unsigned char  irqSource;
            unsigned char  collPos;

         } MfCmdInfo;
#define ResetInfo(info)    \
            info.cmd            = 0;\
            info.status         = MI_OK;\
            info.irqSource      = 0;\
            info.nBytesSent     = 0;\
            info.nBytesToSend   = 0;\
            info.nBytesReceived = 0;\
            info.nBitsReceived  = 0;\
            info.collPos        = 0;


static   volatile MfCmdInfo idata   MInfo;
static   volatile MfCmdInfo    *MpIsrInfo = 0;
static   volatile unsigned char  *MpIsrOut  = 0;
#endif

⌨️ 快捷键说明

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