【得捷电子Follow me第4期】入门任务之三-移植ZLGGUI与液晶显示
[复制链接]
本帖最后由 qinyunti 于 2024-2-15 22:19 编辑
3.1添加代码
CMakeLists.txt中
aux_source_directory(ZLG_GUI ZLG_GUI_SOURCES)
include_directories(ZLG_GUI/include .)
add_executable(blink
blink.c
ls013.c
ls013_lcd.c
${ZLG_GUI_SOURCES}
)
3.2驱动移植
需要实现lcmdrv.c中的函数
#include "config.h"
#include "ls013_lcd.h"
void GUI_Initialize(void) 初始化
void GUI_Initialize(void)
{
lcd_init();
}
void GUI_FillSCR(TCOLOR dat) 填充整个屏幕指定颜色
void GUI_FillSCR(TCOLOR dat)
{
lcd_fill(dat);
}
void GUI_Point(uint16 x, uint16_t y, TCOLOR color)写点的颜色值
void GUI_Point(uint16 x, uint16_t y, TCOLOR color)
{
lcd_set_pixel(x,y,color);
}
uint32_t GUI_ReadPoint(uint16 x, uint16_t y, TCOLOR *ret) 获取一点的颜色值 可以为空
uint32_t GUI_ReadPoint(uint16 x, uint16_t y, TCOLOR *ret)
{
uint32_t retc;
retc = lcd_get_pixel(x,y);
if(ret != 0)
{
*ret = retc;
}
return retc;
}
void GUI_Exec(void) 刷新显存显示
void GUI_Exec(void)
{
lcd_sync();
}
Lcmdrv.h中定义分辨率
#define GUI_LCM_XMAX 144u
#define GUI_LCM_YMAX 168u
3.3 配置
UI_CONFIG.h中可以进行各模块的使能配置,我们使用8x8的字体打印HelloWorld
所以使能配置#define FONT8x8_EN 1
3.4 测试
#include "config.h"
GUI_Initialize();
GUI_SetColor(1,0);
GUI_PutString8_8(0,0,"HelloWorld");
while(1)
{
GUI_Exec();
sleep_ms(10);
}
下载运行结果如下
|