📄 c_p115.h
字号:
#ifndef P115_LOW_H
#define P115_LOW_H
#define ZK_ADDR 0x01200000 //start address of zk
#define ENG_ADDR 0x01208000 //start address of english zk
#define KEY_UNPRESSED 0
#define KEY_PRESSED 1
#define BAUD_38400 18 /* bit rate is 38400 */
#define BAUD_57600 12 /* bit rate is 57600 */
#define BAUD_115200 6 /* bit rate is 115200 */
#define BAUD_4800 144 /* bit rate is 4800 */
#define BAUD_9600 72 /* bit rate is 9600 */
#define BAUD_19200 36 /* bit rate is 19200 */
#define XCV_SIZE 3015 /* the size of uart recevier buff*/
#define XMIT_SIZE 512 /* the size of uart send buff */
#define KBUF_SIZE 32
//Battery_AD
#define SCLK_H (PIO_BASE->PIO_SODR = (1<<0))
#define SCLK_L (PIO_BASE->PIO_CODR = (1<<0))
#define CNVST_H (PIO_BASE->PIO_SODR = (1<<5))
#define CNVST_L (PIO_BASE->PIO_CODR = (1<<5))
#define P100 155 //4V
#define P80 146 //3.775V
#define P60 142 //3.660V
#define P40 139 //3.575V
#define P20 136 //3.513V
#define BEEP (1<<4) // beep port(P4-pin55)
#define IRCTRL (1<<8) // irda ctrl(on or off) port(P8-pin59)
#define BL (1<<3) /* back light Led */
#define COL0 (1<<16) //key input line
#define COL1 (1<<17)
#define COL2 (1<<18)
#define RS232_CTRL (1<<13) //RS-232 on/off
#define RY_BY0 (1<<19) //Flash ready/busy
//RTC
#define SCL_H (PIO_BASE->PIO_SODR = (1<<0))
#define SCL_L (PIO_BASE->PIO_CODR = (1<<0))
#define SDA_OUT_H (PIO_BASE->PIO_SODR = (1<<1))
#define SDA_OUT_L (PIO_BASE->PIO_CODR = (1<<1))
#define CS_1302_H (PIO_BASE->PIO_SODR = (1<<2))
#define CS_1302_L (PIO_BASE->PIO_CODR = (1<<2))
//power
#define EXTPOW (1<<7)
#define POWCON (1<<24)
#define PUSH (1<<10)
typedef struct {
int second;
int minute;
int hour;
} TTime;
typedef struct {
int day;
int month;
int year;
int week;
} TDate;
extern void get_time(TTime *gtime);
extern void set_time(TTime *gtime);
extern void set_date(TDate *gdate);
extern void get_date(TDate *gdate);
#define EXT_CS ((unsigned char*) 0x03000000)
#define LCD_COM_CS ((unsigned char*) 0x02000000)
#define LCD_DATA_CS ((unsigned char*) 0x02000001)
extern void int_open(unsigned char flag);
extern void int_close(unsigned char flag);
extern void low_init();
extern void sys_sleep();
extern unsigned char key_scan();
extern unsigned char key_pop();
extern void beep_on(int delay_time,unsigned int frequency);
extern void beep_off();
void rs232_init(unsigned char mode,unsigned int baudrate);
void rs232_close();
unsigned char rs232_send_char(unsigned char *s_buff,unsigned int s_size);
void irda_init(unsigned char mode,unsigned int baudrate);
void irda_close();
unsigned char irda_send_char(unsigned char *s_buff,unsigned int s_size);
unsigned int irda_state();
extern void lcd_init();
extern void lcd_sleep();
extern void lcd_wakeup();
extern void lcd_close();
extern void lcd_volume(unsigned char brightness);
extern void lcd_clrline(unsigned char line);
extern void lcd_clrscr();
extern void lcd_pixel_disp(unsigned char c, unsigned char r);
extern void lcd_pixel_clr (unsigned char c, unsigned char r);
extern void lcd_vchar_disp(unsigned char c, unsigned char r,unsigned char b);
extern void lcd_char_disp(unsigned char c,unsigned char r, unsigned short qw_code);
extern void lcd_reverse_disp(unsigned char c,unsigned char r, unsigned short qw_code);
void bl_on(unsigned int time);
void bl_off();
unsigned char battery_handle(unsigned char *power);
/**********************************************************************/
/*--------------------------*/
/* Card Controller */
/*--------------------------*/
#define CARD_EN (1<<23)
#define CARD_IO (1<<6)
typedef struct
{
u_char CARD_CSR; // 0- CARD Select Register,R/W
u_char CARD_CCR; // 1- Clock configuration register,R/W
u_char CARD_PDR; // 2- Programmable Divider Register,R/W
u_char CARD_UCR2; // 3- UART configuration register2,R/W
u_char reserved1; // 4- Reserved
u_char CARD_GTR; // 5- Guard Time Register,R/W
u_char CARD_UCR1; // 6- UART configuration register1,R/W
u_char CARD_PCR; // 7- Power Control registers,R/W
u_char CARD_TOC; // 8- Time Out Configuration Register,R/W
u_char CARD_TOR1; // 9- Time Out Register1,Write only
u_char CARD_TOR2; // 10- Time Out Register2,Write only
u_char CARD_TOR3; // 11- Time Out Register3,Write only
u_char CARD_MSR_FCR; // 12- Mixed Status Register,Read only
//FIFO control Register,Write only
// u_char CARD_BUFF; // 13- UART Receive Register,Read only
//UART Transmit Register,Write only
u_char CARD_UTR_URR;
u_char CARD_USR; // 14- UART Status register,Read only
u_char CARD_HSR; // 15-Hardware Status register,Read only
}StructCARD;
#define RCARD_BASE ((StructCARD *) 0x04200000) //
#define WCARD_BASE ((StructCARD *) 0x04000000) //
void ic_activation(unsigned char ic_type);
void ic_deactivation();
unsigned char ic_status();
void sync_c4(unsigned char i);
void sync_c8(unsigned char i);
void sync_rst(unsigned char i);
void sync_clk(unsigned char i);
//atmel a4c card
void at_card_delay();
void at_ack();
void at_start();
void at_stop();
void at_send_byte(unsigned char byte);
unsigned char at_rece_byte();
void at_write_char(unsigned int addr,unsigned char c);
unsigned char at_read_char(unsigned int addr);
/*------------------*/
void hex_display(unsigned char col,unsigned char row,unsigned char temp);
unsigned char get_char();
void str_display(unsigned char line,unsigned char row,unsigned char *buff);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -