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

📄 c_p115.h

📁 P115 IC卡手持POS是天石科技32位IC卡POS系列产品之一
💻 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 + -