|
今天先把我的单片机库(GD32F103+ST7735S)放上来给大家参考一下,功能有不清楚的可以问我。主要显示框架为 :
ST7735硬件驱动库->Graphic画图库 + FontData.h字体/图片数据库->GUI画面显示库
库说明:
1、ST7735硬件驱动库,针对不同的驱动芯片替换底层驱动
2、Graphic画图库,实现不同的显示指令,发数据给硬件;
3、FontData.h 字体/图片数据库,即把取模的数据封装成结构/数组,供显示指令调用;
4、GUI画面显示库,不同画面的显示指令,我的软件生成的画面自定义指令就是更新这个库;
这个框架有个好处,硬件不同时,只改/换硬件驱动库,要增加指令功能时,只改Graphic画图库,要改取模数据,更新FontData.h的结构;增加修改画面,改GUI画面显示库;
目前Graphic画图库支持如下功能
void Draw_SetTextSpace(uint16_t space); //设置字符的间隔
void Draw_SetOrigin(uint16_t x_pos,uint16_t y_pos); //设置相对原点坐标
void Draw_SetFonts(Font_TypeDef HZ,Font_TypeDef ASCII,uint8_t index); //设置文字属性
void DrawPoint(uint16_t x, uint16_t y, uint16_t color); // 画点
void DrawLine(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2, uint16_t color); // 画线
void DrawCircle(int xc, int yc,int r,uint16_t color, uint8_t fill);//画圆
void DrawRect(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2,uint16_t color, uint8_t fill);//画矩形
void DrawFill(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2, uint16_t color); //填充区域
void DrawPic(uint16_t x,uint16_t y,uint16_t width,uint16_t height,const uint8_t pic[]); //显示填充彩色图片
void DrawPicStruct(uint16_t x,uint16_t y,Picture_TypeDef pic); //根据结构体数据,显示填充彩色图片
void DrawPointData(const uint8_t *StrData, uint16_t x, uint16_t y, uint16_t sizex, uint16_t sizey, uint16_t fcolor, uint16_t bcolor, uint8_t TransparentMode); // 根据位置大小输出点阵数据图
void DrawStr(uint8_t *strText,Font_Combination fonts, uint16_t x, uint16_t y,uint16_t fcolor, uint16_t bcolor, uint8_t TransparentMode); //文字显示(中英文混合)
void DrawHZ(uint8_t *strText,Font_TypeDef fontname, uint16_t x, uint16_t y,uint16_t fcolor, uint16_t bcolor, uint8_t TransparentMode); //汉字显示
void DrawAscii(uint8_t *strText,Font_TypeDef fontname, uint16_t x,uint16_t y,uint16_t fcolor,uint16_t bcolor, uint8_t TransparentMode); //ASCII字符显示
void DrawNumber(long number,uint8_t pointnums,Font_TypeDef fontname,uint16_t x,uint16_t y,uint16_t fcolor,uint16_t bcolor,uint8_t TransparentMode); //数字显示
void DrawAsc_ByTable(unsigned char *str,Font_TypeDef fontname,uint16_t x,uint16_t y,uint16_t fcolor,uint16_t bcolor, uint8_t TransparentMode); //通用ASCII库字符显示
大家有空先熟悉下吧,我抽时间再解说和优化一下
|
|