|
今天先把我的單片機庫(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庫字符顯示
大家有空先熟悉下吧,我抽時間再解說和優化一下
|
-
-
GD32-GUI.zip
2024-6-19 17:27 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
799.92 KB, 下載次數: 31, 下載積分: 黑幣 -5
|