📄 driven.h
字号:
/*
*********************************************************************************************************************
* 东软培训中心教学项目:基于ARM和uc/os-II的PDA系统
*
* (c) Copyright 2005, 东软培训中心
* All Rights Reserved
*
* 模块名称:驱动程序模块
* 文件名:driven.h
* 作者:朱成果
* 时间:2005年10月5日
* 版本:V0.01
**********************************************************************************************************************
*/
#ifndef _DRIVEN_H
#define _DRIVEN_H
#include "def.h"
#include "44b.h"
#define NORMAL 0x0a //正常状态
#define SETRTC 0x0b //RTC设置状态
#define SETREC 0x0c //号码录入状态
#define DISTIME 0x0d //显示时间状态
#define DISDATE 0x0e //显示日历状态
#define DISREC 0x0f //号码显示状态
#define ESCAP 0x10 //退出状态
#define NOREC 0x11
#define PDA_NEUTIG 0
#define PDA_MAINPAGE 1
#define PDA_SYSTIME 2
#define PDA_SYSDATE 3
#define BT_RETURN 4
#define PDA_VERSION 5
#define PDA_DISREC 6
#define PDA_SETRTC 7
#define PDA_SETREC 8
#define PDA_DEL 9
#define PDA_NORECORD 10
#define CLR_WORKSPC 0
#define CLR_ALL 1
#define CLR_STATE 2
#define BLOCK_SIZE 0x4200 //
#define LCDDisplayPin 0x0010 //GPB4
#define LCDWIDTH 320
#define LCDHEIGHT 240
#define LCDCON1_ENVID (1)
#define LCDCON1_INVVD (1<<1)
#define LCDCON1_INVFRAME (1<<2)
#define LCDCON1_INVLINE (1<<3)
#define LCDCON1_INVCLK (1<<4)
#define LCDCON1_MMODE (1<<7)
#define L248 (8)
#define CLKVAL (20) // 60Mhz, fr=100Hz (CLKVAL=38.6)
//#define M5D(n) ((n) & 0x1fffff)
#define LCDDisplayPin 0x0010 //GPB4
#define LCDWIDTH 320
#define LCDHEIGHT 240
#define ADS7843_CTRL_START 0x80
#define ADS7843_GET_X 0x50
#define ADS7843_GET_Y 0x10
#define ADS7843_CTRL_12MODE 0x0
#define ADS7843_CTRL_8MODE 0x8
#define ADS7843_CTRL_SER 0x4
#define ADS7843_CTRL_DFR 0x0
#define ADS7843_CTRL_DISPWD 0x3 // Disable power down
#define ADS7843_CTRL_ENPWD 0x0 // enable power down
#define ADS7843_PIN_CS (1<<6) //GPF6
#define ADS7843_PIN_PEN (1<<5) //GPG5
//#define ADS7843_PIN_BUSY (1<<6)
/////////触摸屏动作////////
#define TCHSCR_ACTION_NULL 0
#define TCHSCR_ACTION_CLICK 1 //触摸屏单击
#define TCHSCR_ACTION_DBCLICK 2 //触摸屏双击
#define TCHSCR_ACTION_DOWN 3 //触摸屏按下
#define TCHSCR_ACTION_UP 4 //触摸屏抬起
#define TCHSCR_ACTION_MOVE 5 //触摸屏移动
#define TCHSCR_ACTION_DISTURB 6 //时间太短的两次按下认为是干扰
#define TCHSCR_IsPenNotDown (rPDATG&ADS7843_PIN_PEN)
typedef struct RTC_REG {
U32 year;
U8 month;
U8 day;
U8 week;
U8 hour;
U8 min;
U8 sec;
} RTC_REG;
typedef struct RECLIST {
char name[20];
char telnum[16];
char plmnum[16];
char mail[25];
struct RECLIST *RECNext;
} RECLIST;
typedef struct FILECNT {
U8 Buffer[BLOCK_SIZE]; //文件缓冲区
U32 fileblock; //文件当前的block
U32 filemode; //打开文件的模式
U32 filebufnum; //文件缓冲区已经读写的字节数
U32 fileCurpos; //读写的当前位置
U32 filesize; //文件的大小
} FILECNT;
//function in assemble
extern void LCD_DDB(int x);
extern U8 LCD_PUTC(char ch, U32 fcolor, U32 *pput,U32 bcolor);
//function in neuu_drive_lcd.c
void LCDDisplayOpen(U8 isOpen);
void LCD_Init(void);
void LCD_Clear(int mod);
void LCD_loard_tig(int x);
U8 LCD_Putcf(char ch, U32 fcolor, U32 *pput,U32 bcolor);
U8 LCD_Prints(char *plist, U32 fcolour, U32 *pput, U32 bcolour);
void LCD_printf(const char *format,...);
//function in neuu_drive_rtc.c
void Rtc_Init(void);
void Rtc_Read(void);
void Rtc_Set(void);
void BCDU32toAsc(U32 intnum);
void BCDU8toAsc(U8 intnum);
U16 HexToInt(U16 intnum);
U16 IntToHex(U16 intnum);
//function in euu_drive_key.c
U32 GetKey(void);
unsigned int Zlg7289_ReadKey(void);
void Zlg7289_Reset(void);
void GetSETKEY(void);
//function in nedu_sub_state.c
void dis_main(void);
void dis_date(void);
void dis_time(void);
void REC_Display(void);
void Key_sub_state(void);
void RTC_Set_Display(void);
void REC_Set_Display(void);
void NoREC_Display(void);
//funtion in file.c
U32 ReadFile(FILECNT * file,U8 * ReadBuffer,U32 nReadByte);
U8 WriteFile(char filename[],U8 * WriteBuffer,U32 nWriteyte);
//U8 WriteFile(FILECNT* pfile,U8* WriteBuffer, U32 nWriteyte);
int ManegeRec(void);
void struc2buff(void);
int zstrcmp(char *s, char *d);
//funtion in nedu_drive_tch
void GetTCHXY(void);
U32 GetMainXY(void);
void GetTimeXY(void);
void GetDateXY(void);
void GetRECXY(void);
void GetSETRTCXY(void);
void GetSETRECXY(void);
void TchScr_GetScrXY(int *x, int *y, U8 bCal);
void TchScr_GetOSXY(int *x, int *y);
void TchScr_Test(void);
#endif /* _DRIVEN_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -