📄 m500auc.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 + -