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

📄 main.h

📁 Mifare RC500 API Code in Keil
💻 H
字号:
#ifdef __SRC
#define EXTERN
#else
 #define EXTERN		       	extern
#endif

#define TRUE   1
#define FALSE  0

#define ON     0
#define OFF    1

#define NO_TIMER2           1     //对于有TIMER2的可以使用

//设置波特率
#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
// Timer2
#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

sfr16   RCAP2LH                = 0xCA;
sfr16   T2LH                   = 0xCC;

unsigned char idata CardSnr[4];      //最后选择的卡的序列号
unsigned char idata RevBuffer[30];            //串口缓冲数组
unsigned char data SerBuffer[20];             //和RC500通信的缓冲数组

bit bCmd;       //布尔变量,命令判断位,1有效,0无效
bit ack;		// IIC应答位
bit bSameSn;		//检查卡序列号是否一样

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; 
static   volatile unsigned char  *MpIsrOut;

void InitSystem(void); 
void uart_process(void);
void delay_10ms(unsigned int _10ms);
void delay_1ms(unsigned char _1ms);
void delay_50us(unsigned char _50us);
void start_timeout(unsigned int _50us);
void stop_timeout(void);
void beep(unsigned char n);
void splash(unsigned char n);   //led 闪烁次数
void cmd_ok(void);         //发送命令成功信号0100给上位机

// End of File
//////////////////////////////////////////////////////////////////////////////

⌨️ 快捷键说明

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