📄 m500auc.h
字号:
#ifdef M500_GLOBALS
#define M500_EXT
#else
#define M500_EXT extern
#endif
#define TRUE 1
#define FALSE 0
#define OSC_FREQ 11059200L
#define BAUD_115200 256 - (OSC_FREQ/192L)/115200L // 255
#define BAUD_57600 256 - (OSC_FREQ/192L)/57600L // 254
#define BAUD_38400 256 - (OSC_FREQ/192L)/38400L // 253
#define BAUD_28800 256 - (OSC_FREQ/192L)/28800L // 252
#define BAUD_19200 256 - (OSC_FREQ/192L)/19200L // 250
#define BAUD_14400 256 - (OSC_FREQ/192L)/14400L // 248
#define BAUD_9600 256 - (OSC_FREQ/192L)/9600L // 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
unsigned char idata MLastSelectedSnr[4];
//unsigned char data RevBuffer[30];
//unsigned char data SerBuffer[20];
unsigned char idata RevBuffer[30];
unsigned char data SerBuffer[20];
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 MfCmdInfo *MpIsrInfo;
//static volatile unsigned char *MpIsrOut = 0;
static volatile unsigned char *MpIsrOut;
M500_EXT void delay_1ms(unsigned char _1ms);
M500_EXT void delay_50us(unsigned char _50us);
M500_EXT void start_timeout(unsigned int _50us);
M500_EXT void stop_timeout(void);
M500_EXT char M500PcdRfReset(unsigned char ms);
M500_EXT char M500HostCodeKey( unsigned char *uncoded,
unsigned char *coded);
M500_EXT char M500PiccCommonRequest(unsigned char req_code,
unsigned char *atq);
M500_EXT char M500PiccCascAnticoll( unsigned char bcnt,
unsigned char *snr);
M500_EXT char M500PiccCascSelect(unsigned char *snr,
unsigned char *sak);
M500_EXT char M500PiccAuthKey( unsigned char auth_mode,
unsigned char *snr,
unsigned char *keys,
unsigned char block);
M500_EXT char SetBitMask(unsigned char reg,unsigned char mask);
M500_EXT void M500PcdSetTmo(unsigned char tmoLength);
M500_EXT char M500PcdCmd(unsigned char cmd,
volatile unsigned char data * rcv,
volatile MfCmdInfo idata *info);
M500_EXT char ClearBitMask(unsigned char reg,unsigned char mask);
M500_EXT void FlushFIFO(void);
M500_EXT char PcdWriteE2(unsigned int startaddr,
unsigned char length,
unsigned char* _data);
M500_EXT char M500PiccAuthState(unsigned char auth_mode,
unsigned char *snr,
unsigned char block);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -