www.pudn.com > mifare_wiegand(1.1).rar > 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[10];   
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);  
//void delay_50us(unsigned char _50us); 
//void shift_result(unsigned char *shift_data);