打印
[活动专区]

【AT-START-F425测评】+周立功ZLG_GUI库移植到OLED

[复制链接]
1435|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ar, lg, ui, GUI
本来是需要AT32F425制作离线烧录器,结果一直没时间,现在补上。
1、首先离线烧录器肯定需要屏幕显示,这里选择0.96寸的OLED屏作为显示屏
2、OLED选用的为IIC接口的屏幕,因为不需要太快的刷新率
3、重头戏,屏幕界面如果只用例程的话显示几个字有点略显单薄,所以网上找到了很古老的ZLG_GUI库,可以根据里面的接口函数来显示一些内容




首先Keil工程中添加ZLG_GUI的库函数





头文件设置好
#include   "LCMDRV.H"
#include   "FONT_MACRO.H"
#include   "GUI_CONFIG.H"
#include   "GUI_BASIC.H"
#include   "GUI_STOCKC.H"
#include   "FONT24_32.H"
#include   "FONT5_7.H"
#include   "FONT8_8.H"

#include    "LOADBIT.H"
#include    "WINDOWS.H"
#include    "MENU.H"
#include    "spline.H"
#include    "ConvertColor.H"


在lcmdrv.c中找到void  GUI_Initialize(void)函数,此函数为一个空的接口函数,为OLED的初始化函数,需要将你的屏幕的一些初始化内容放进去



同样在lcmdrv.c中找到void  GUI_Exec(void)函数,此函数为一个空的接口函数,为OLED的刷新显示函数,需要将你的屏幕的显示和刷新放进去



同上,找到 void  GUI_Point(uint16 x, uint8 y, TCOLOR color)函数,此函数为画点的空函数接口,将你屏幕画点的驱动放进去



清屏函数void  GUI_ClearSCR()同理



全屏填充函数同理 void  GUI_FillSCR(TCOLOR dat)



之后准备做一个界面函数,使用库里自带的界面函数
void Win_Dis(u8 pos_x,u8 pos_y,u8 width,u8 high,u8 *headline,u8 *contain)
{
        WINDOWS winxp;
        winxp.x=pos_x;
        winxp.y=pos_y;
        winxp.with=width;
        winxp.hight=high;
        winxp.title=headline;
        winxp.state=contain;
        GUI_WindowsDraw(&winxp);
        GUI_Exec();
}
调用此函数
u8 head[]={"Init"};
        u8 text_init[]={"AT32F425"};
        Win_Dis(0, 0, 128, 64, head, text_init);
然后在界面里写入点内容
OLED_ShowFontHZ(0 + 5, 0 + 16, 12, 16, 1);                /*初*/
        OLED_ShowFontHZ(16 + 5, 0 + 16, 13, 16, 1);                /*始*/
        OLED_ShowFontHZ(32 + 5, 0 + 16, 14, 16, 1);                /*化*/
        OLED_ShowFontHZ(48 + 5, 0 + 16, 17, 16, 1);                /*中*/
最后一定不要忘了写刷新显示的函数
GUI_Exec();


来看一下效果(界面框有线断了,是手机拍照的问题。。。实际是完整的)





130046251593860f53.png (14.66 KB )

130046251593860f53.png

F425.zip

3.19 MB

使用特权

评论回复
沙发
muyichuan2012| | 2022-4-10 12:41 | 只看该作者
期待楼主的离线烧录器

使用特权

评论回复
板凳
timfordlare| | 2022-5-16 10:26 | 只看该作者
ZLG_GUI不是很好用呢。  

使用特权

评论回复
地板
phoenixwhite| | 2022-5-16 10:56 | 只看该作者
ZLG_GUI占用的内存大吗

使用特权

评论回复
5
claretttt| | 2022-5-16 11:28 | 只看该作者
能够一直lvgl吗?

使用特权

评论回复
6
saservice| | 2022-5-16 12:40 | 只看该作者
彩色屏幕也适用吗  

使用特权

评论回复
7
mikewalpole| | 2022-5-16 13:32 | 只看该作者
AT-START-F425性能很给力呢。   

使用特权

评论回复
8
wengh2016| | 2022-5-16 16:10 | 只看该作者
OLED可以控制显示反向吗?

使用特权

评论回复
9
bestwell| | 2022-5-16 16:58 | 只看该作者
学习一下吧。高端的  

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:清智科技嵌入式工程师
简介:单片机嵌入式底层开发,汽车电子

48

主题

513

帖子

18

粉丝