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

📄 bio_func.h

📁 TP900掌机功能测试C源码大全(含开发头文件)
💻 H
字号:

#ifndef	_BD100_BioFunc_H
#define _BD100_BioFunc_H

typedef signed char S8;
typedef unsigned char U8;
typedef short int S16;
typedef unsigned short int U16;
typedef int S32;
typedef unsigned int U32;
typedef signed long SL32;
typedef unsigned long UL32;

#define main Main
#define HANDLE U32

typedef __packed struct FINDBLK{
	U16 num;
	U8 Cur_S;
	U8 Index;
	S8 name[8];
	S8 ext[3];
	S8 dir[65];
  U8  ff_ftime[16];   /* file  date_time*/
	U32 ff_fsize;       /* file size */
	S8 ff_name[13];     /* found file name */
	U8 ff_attrib;       /* attribute found */
}FindBlk;

typedef struct   BLOCK_STRUCT
{
	S16	num;			/*缓冲首块号(索引)*/
	U8	buf_num;		/*缓冲容量*/
	U8  sign;			/*写标志* 1:待写*/
	U8 	reserved;
	U8 	*buf;			/*缓冲区*/
}Block_Struct;


typedef struct	BUFFER_STRUCT
{
	U8 f_att;			/*文件属性*/
	U8 atrib;			/*打开属性*/
	U8 sign;			/*占用标志*/
	U8 reserved;
	U32 cur_p;			/*当前指针*/
	U32 len;			/*文件总长*/
	U16 fat;			/*文件首块号*/
	U16 blocks;			/*总块数*/
	Block_Struct b_s;	/*写缓冲结构*/
}Buffer_Struct;
#define _FILE Buffer_Struct

typedef struct _PDARECT
{
	S32 left;
	S32 top;
	S32 right;
	S32 bottom;
}RECT;

typedef struct _BUTTON
{
	U16 btnKey;			//按键与键一一对应
	RECT Rect;
	S32  Style;     
	U8 *Str;
	U8 *promptStr; //系统区提示信息
	U8 *Bmp;

	S32  Status;
	S32  BackColor;
	S32  StrColor;
	S32  StrX,StrY;
	S32  BmpColorNum;
	S32  BmpX,BmpY;
	S32  BmpWidth,BmpHeight;
}BUTTON;

typedef struct _WND_FCS
{
	U8 bFocus;	//是否拥有焦点
	U8 nCnt;		//按键的总个数
	U8 nCur;		//当前的按键序号
}Wnd_Fcs;

typedef U32 (*PUSERFUNC) (U32 cmd, U8 *pItemID, U16 key, U32 reserved);


/////////////////////////////////////////////
//系统事件扩展

#define SYSEVNT_POWEROFF	1
#define SYSEVNT_POWERON		2


//typedef U32 (*PUSERFUNC) (U32 cmd, U8 *pItemID, U16 key, U32 reserved);

typedef struct _SYS_EVENT
{
	U32		EvntID;
	HANDLE	handle;
	S32		(*pEvntFun)(S32 para);
	S32		para;

}Sys_Event;




///////////////////////////////////////////
//0.0---------------------------------------------------------------No.000
void _sysinit(void);
///////////////////////////////////////////
//1. 键盘接口函数

//1.1---------------------------------------------------------------No.001
S16		_bioskey(U8 mode);
//1.2---------------------------------------------------------------No.002
S16		_key_time(U32  n);
//1.3---------------------------------------------------------------No.003
U8		_key_secret(U8 *p,U8 *len,S8 n);
//1.4---------------------------------------------------------------No.004
S16		_key_last(void);
//1.5---------------------------------------------------------------No.005
S8		_keybeep(U8 i);
//1.6---------------------------------------------------------------No.006
void	_setkeymode(U8	mode);	
//1.7---------------------------------------------------------------No.007
U8		_getkeymode(void);	//返回键盘输入模式



//2. 显示接口函数

//2.1---------------------------------------------------------------No.008
void	_cls(void);
//2.2---------------------------------------------------------------No.009
void	_clsn(U8 line,U8 n);
//2.3---------------------------------------------------------------No.010
void	_gotoxy(U8 x,U8 y);
//2.4---------------------------------------------------------------No.011
S8		_getx(void);
//2.5---------------------------------------------------------------No.012
S8		_gety(void);
//2.6---------------------------------------------------------------No.013
void	_setscreenmode(U8 mode);
//2.7---------------------------------------------------------------No.014
U8   	_getscreenmode(void);
//2.8---------------------------------------------------------------No.015
void	_setdispcolor(U8 color);
//2.9---------------------------------------------------------------No.016
U8  	_getcolor(void);
//2.10--------------------------------------------------------------No.017
void	_putch(U8 c);
//2.11--------------------------------------------------------------No.018
void	_putstr(U8 *p);
//2.13--------------------------------------------------------------No.019
void	_putn(U8 n,U8 *p);
//2.14--------------------------------------------------------------No.020
void	_drawdot(U8 x,U8 y,U8 color);
//2.15--------------------------------------------------------------No.021
void	_drawline( U8 startx, U8 starty, U8 endx, U8 endy,U8 color);
//2.16--------------------------------------------------------------No.022
void	_drawrect(U8 startx,U8 starty,U8 endx,U8 endy,U8 color);
//2.17--------------------------------------------------------------No.023
void	_draw_border(U8 startx,U8 starty,U8 endx,U8 endy);
//2.18--------------------------------------------------------------No.024
void	_lcd_setcursor(S8 status,S8 width,S8 height,S8 blink);
//2.19--------------------------------------------------------------No.025
void	_lcd_getcursor(S8 *status,S8 *width,S8 *height,S8 *blink);
//2.20--------------------------------------------------------------No.026
S16 	_calc_video_buf(U8 startx,U8 starty,U8 endx,U8 endy,U8	charflag);
//2.21--------------------------------------------------------------No.027
void	_save_video(U8 startx,U8 endx,U8 starty,U8 endy,U8	charflag,U8 *buf_ptr,U8 mode);
//2.22--------------------------------------------------------------No.028
void	_restore_video(U8 *buf_ptr);
//2.23--------------------------------------------------------------No.029
void	_fillbox(U8 startx,U8 starty,U8 endx,U8 endy,U8 color);


//3. 蜂鸣器与时钟接口函数

//3.1---------------------------------------------------------------No.030
void	_bell(U16 btime,U16 frequency);
//3.2---------------------------------------------------------------No.031
void	_gettime(unsigned char *t);
//3.3---------------------------------------------------------------No.032
void	_getdate(unsigned char *d);
//3.4---------------------------------------------------------------No.033
S16		_settime(unsigned char *t);
//3.5---------------------------------------------------------------No.034
S16		_setdate(unsigned char *d);
//3.6---------------------------------------------------------------No.035
S16		_getweek(void);
//3.7---------------------------------------------------------------No.036
U8		_setclkctl(U8 mode);
//3.8---------------------------------------------------------------No.037
U8		_getclkctl(void);

            	
//4. 通讯接口函数


//4.1---------------------------------------------------------------No.038
void	_com_init(U8 enable,U32 baud,U8	control);
//4.2---------------------------------------------------------------No.039
S16		_com_read(U8 *c);
//4.3---------------------------------------------------------------No.040
void	_com_send(U8 c);
//4.4---------------------------------------------------------------No.041
S16		_com_read_buf(U8 *buf,U16 *len,U16	n,U16 max_time);
//4.5---------------------------------------------------------------No.042
void	_com_send_buf(U8 *buf,U16 *len);
//4.6---------------------------------------------------------------No.043
U8		_setcomport(U8 nComPort);
//4.7---------------------------------------------------------------No.044
U8		_setcommode(U8 mode);
//4.8---------------------------------------------------------------No.045
U8		_rectest(void);
//4.9---------------------------------------------------------------No.046
U8		_comerror(void);
//4.10--------------------------------------------------------------No.047
U8		_getin(U8 m);
//4.11--------------------------------------------------------------No.048
U8		_setout(U8 m);
//4.12--------------------------------------------------------------No.049
void 	_flushcom(void);


//5. Flash	函数


//5.1---------------------------------------------------------------No.050
U16		_flash_id(void);
//5.2---------------------------------------------------------------No.051
U8 		_flash_format(S32 address);
//5.3---------------------------------------------------------------No.052
U8 		_flash_write(S32 address,unsigned char *buf,U16 len);


//6. 其他函数

//6.1---------------------------------------------------------------No.053
void	_delay(U16	time);
//6.2---------------------------------------------------------------No.054
U32		_getsyson(void);
//6.3---------------------------------------------------------------No.055
void	_powersave(void);
//6.4---------------------------------------------------------------No.056
U8		_powerdown(U8 mode);
//6.5---------------------------------------------------------------No.057
U8		_setdowntime(U16 n);
//6.6---------------------------------------------------------------No.058
U16		_getdowntime(void);
//6.7---------------------------------------------------------------No.059
void	_getsysinfo(U8 item,U8 *p);
//6.8---------------------------------------------------------------No.060
U16 	_setsysvar(U8 Var_no,U8 *Var_buf,U8 Var_len);
//6.9---------------------------------------------------------------No.061
U16 	_getsysvar(U8 Var_no,U8 *Var_buf,U8 *Var_len);
//6.10--------------------------------------------------------------No.062
U16		_getbattery(void);
//6.11--------------------------------------------------------------No.063
void	_delsysvar(U8 Var_no);
//6.12--------------------------------------------------------------No.064
U8		_getcontrast(U8 n);

//7.1---------------------------------------------------------------No.065
S8   _check_disk(int i);
//7.2---------------------------------------------------------------No.066
S8   _file_sys_init(void);
//7.3---------------------------------------------------------------No.067
S16  _creatdir(S8 * d_n);
//7.4---------------------------------------------------------------No.068
S16  _creatfile(S8 * f_n,U8 att);
//7.5---------------------------------------------------------------No.069
S16  _filedelete(S8 * f_n);
//7.6---------------------------------------------------------------No.070
S16  _dirdelete(S8* f_n);
//7.7---------------------------------------------------------------No.071
_FILE* _fopen(S8 * filename,S8 * mode);
//7.8---------------------------------------------------------------No.072
S16  _setcurdir(S8* dirname);
//7.9---------------------------------------------------------------No.073
S32  _fread(U8* buf,S32 len,_FILE* f);
//7.10---------------------------------------------------------------No.074
S32  _fseek(_FILE *f, S32 offset,U16 whence);
//7.11---------------------------------------------------------------No.075
U32  _filelength(_FILE *f);
//7.12---------------------------------------------------------------No.076
U32  _ftell(_FILE *f);
//7.13---------------------------------------------------------------No.077
S32  _fileexist(U8 * filename);
//7.14---------------------------------------------------------------No.078
void _flushfile(_FILE* f);
//7.15---------------------------------------------------------------No.079
S32  _fclose(_FILE *f);
//7.16---------------------------------------------------------------No.080
S32  _fwrite(U8 * buf,S32 l, _FILE *f);
//7.17---------------------------------------------------------------No.081
S16  _findnext(FindBlk *ffblk);
//7.18---------------------------------------------------------------No.082
S16  _findfirst(S8 *filename,FindBlk *ffblk);
//7.19---------------------------------------------------------------No.083
void _format_disk_a(void);
//7.20---------------------------------------------------------------No.084
U16  _format_disk_l(void);
//7.21---------------------------------------------------------------No.085
U16  _format_disk_h(void);
//7.22---------------------------------------------------------------No.086
U32  _getfreesize(void);
//7.23---------------------------------------------------------------No.087
U32  _getbadsize(void);
//7.24---------------------------------------------------------------No.088
S32  _setvaradd(U8 num);
//7.25---------------------------------------------------------------No.089
void _set_format_sign(void);
//7.26---------------------------------------------------------------No.090
void _clear_format_sign(void);
//7.26---------------------------------------------------------------No.091
U8  _setirdelay(U16 number);
//7.26---------------------------------------------------------------No.092
void	_keybufin(U16 code);
//7.27---------------------------------------------------------------No.093
void	_passtest(void);
//7.28---------------------------------------------------------------No.094
U8	_fcloseall(void);
//7.29---------------------------------------------------------------No.095
U32 _getprofilestring(S8 *t,S8 *sub_t,S8 *default_var,S8 *target,U32 len,S8 *fname);
//7.30---------------------------------------------------------------No.096
S8*	_getcurdir(void);
//7.31---------------------------------------------------------------No.097
void _clear_com_sign(void);
//7.32---------------------------------------------------------------No.098
void _set_com_sign(void);


//9.
//9.1----------------------------------------------------------------No.099
U16 _disp_res(S8 *f_n, U16 wnd_ID,BUTTON *pArrBtn);

//9.2----------------------------------------------------------------No.100
void _btnfocusdraw(BUTTON *button);

//9.3----------------------------------------------------------------No.101
void _configwndfcs(Wnd_Fcs *pfcs,U8 iCnt,U8 iCur);

//9.4----------------------------------------------------------------No.102
void _focusprocess(Wnd_Fcs *pwf,BUTTON *pBtnArray[],U8 direction,U8 addend);

//9.5----------------------------------------------------------------No.103
void _focusspecify(Wnd_Fcs *pwf,BUTTON *pBtnArray[],U8 btnSpecified);

//9.6----------------------------------------------------------------No.104
U8 _getbutton(BUTTON *button);

//9.7----------------------------------------------------------------No.105
U32 _usr_disp_wnd(S8 *filename, U16 wnd_ID, PUSERFUNC func);

//10
//10.1----------------------------------------------------------------No.106
void _sys_fun_hook(Sys_Event *pSysEvent);

//10.2----------------------------------------------------------------No.107
void _sys_fun_unhook(Sys_Event *pSysEvent);


#endif

⌨️ 快捷键说明

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