📄 bio_func.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 + -