📄 define.h
字号:
//#define uchar unsigned char;
;
#define nop() asm("nop")
#define clrwdt() asm("clrwdt")
//******************** io 口定义 ******************
#define rc500_ale RA0 // lhl 锁定地址
#define rc500_rd RA1
#define rc500_wr RA2
#define rc500_cs RA3
#define led_green RA4
#define led_red RA5
#define trisa_ini 0x0
#define porta_ini 0x3f
#define data_port PORTB
#define tris_data_port TRISB
#define tris_input 0xff
#define tris_output 0x0
#define trisb_ini 0xff
#define portb_ini 0x0
#define rc500_rst RC0
#define rc500_irq RC1
#define portc_ini 0x2
//******************** 常量定义 *******************
#define option_ini 0x02 // 1:8 预分频用于 timer0
#define timer0_ini 255-50 // 1/216 秒定时
#define t1con_ini 0x31 // 1:8 预分频, 启动定时器
#define timer1h_ini 0xf6 // 20ms 定时
#define timer1l_ini 0x3c
#define t2con_ini 0x4d // 1:40 预分频, 启动定时器
#define timer2_ini 255-250 // 10ms 定时
#define adcon0_ini 0x0
#define adcon1_ini 0x7 //关闭 ADC
#define rxdsta_ini 0x90
#define txdsta_ini 0x26
#define true 0x1
#define false 0x0
#define MIS_CHK_OK (0)
#define MIS_CHK_FAILED (-1)
#define MIS_CHK_COMPERR (-2)
#define GetRegPage(addr) (0x80 | (addr>>3))
#define WriteE2 0x01
#define LoadKeyE2 0x0B
#define KEY_A 0x60 //!< authentication using key A
#define KEY_B 0x61 //!< authentication using key B
#define READER_ERR_BASE_START 0
#define Timecount 10000
#define LED_G_ON() RA4=0
#define LED_R_ON() RA5=0
#define LED_G_OFF() RA4=1
#define LED_R_OFF() RA5=1
#define BeepOn() TRISC5=0;RC5=1
#define BeepOff() RC5=0
//i2c
#define port_scl RC3
#define port_sda RC4
#define port_ewp RC2
#define tris_scl TRISC3
#define tris_sda TRISC4
#define tris_ewp TRISC2
#define SDA port_sda
#define SCL_Hi() port_scl=1
#define SCL_Lo() port_scl=0
#define SDA_Hi() tris_sda=1; do {;}while(port_sda==0)
#define SDA_Lo() tris_sda=0; nop(); port_sda=0
#define eWP_Hi() tris_ewp=1
#define eWP_Lo() tris_ewp=0; port_ewp=0
#define SDA_INPUT() tris_sda=1
#define SCL_INPUT() tris_scl=1
#define SDA_OUT() tris_sda=0
#define SCL_OUT() tris_scl=0
//
#define E2Addr_Baud 0x30
//******************* 寄存器定义 ******************
struct{
unsigned cRxOver:1;
unsigned CardIn:1;
unsigned CardSame:1;
unsigned BeepOver:1;
unsigned LedOver:1;
unsigned Over50ms:1;
unsigned SUCCESS:1;
}Flag;
struct{
unsigned CommErr:1;//2秒钟未收到信号
unsigned LED_R_ON :1;
unsigned BEEP_ON:1;
// unsigned :1;
// unsigned :1;
// unsigned :1;
}Sta;
unsigned char hex_hi,hex_lo,hex_byte;
unsigned char tmr50ms,tmrBeep,tmrLed;
unsigned char BeepHoldTmr,LedHoldTmr;
unsigned char tmr500ms,tmrCommRx,tmrReadCard,tmrCommErr;
unsigned char eAddr;
unsigned char cRxCunt;
unsigned char MyAddr;
persistent unsigned char Baud;
unsigned char BCC;
unsigned char BBcunt,LEDcunt;
unsigned char bank1 Snr_RC500[4]; // MFRC500 序列号
unsigned char bank1 Snr_Temp[4]; // MFRC500 序列号 缓存
unsigned char bank1 MSndBuffer[20];
unsigned char bank1 MRcvBuffer[20];
unsigned char bank1 CommBuff[24];
struct MfCmdInfo
{
unsigned char cmd; // command code
unsigned char status; // communication status
unsigned char nBytesSent; // how many bytes already sent
unsigned char nBytesToSend; // how many bytes to send
unsigned char nBytesReceived;// how many bytes received
unsigned char nBitsReceived; // how many bits received
unsigned char irqSource; // which interrupts have occured
unsigned char collPos; // at which position occured a collision
} MInfo;
unsigned char mfout=2;//readbuf[16];
unsigned char tt1[2];
char status1;
unsigned char *sak1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -