关于ucgui3.98(显示部分)移植

gui部分:
移植参考https://blog.csdn.net/ballack_linux/article/details/40829313
基本可以一次性成功。
注意事项:
一、在LCDCONF头文件中:
1、LCD_BITSPERPIXEL定义的时候每个像素点的位数,和LCD驱动芯片相关;
2、LCD_CONTROLLER定义的是驱动器类型,我这里使用-1用自己的驱动
3、添加两个宏
#define LCD_SWAP_RB (1)//交换BGR到RGB
#define LCD_FIXEDPALETTE (565)
我使用的驱动器颜色是BGR所以LCD_SWAP_RB 定义为1,不然出来的颜色是反的;
4、宏LCD_INIT_CONTROLLER定义LCD初始化函数
因为我使用的自己驱动,所以这个宏定义为下面类型
//#define LCD_INIT_CONTROLLER()
// LCD_WRITE_REGLH(0x00>>1,LCD_REG0, LCD_REG1);
// LCD_WRITE_REGLH(0x02>>1,LCD_REG2, LCD_REG3);
// LCD_WRITE_REGLH(0x04>>1,LCD_REG4, LCD_REG5);
// LCD_WRITE_REGLH(0x06>>1,LCD_REG6, LCD_REG7);
// LCD_WRITE_REGLH(0x08>>1,LCD_REG8, LCD_REG9);
// LCD_WRITE_REGLH(0x0a>>1,LCD_REGA, LCD_REGB);
// LCD_WRITE_REGLH(0x0c>>1,LCD_REGC, LCD_REGD);
// LCD_WRITE_REG (0x0e>>1,0x00); /* 0, screen 2 start l*/
// LCD_WRITE_REG (0x10>>1,0x00); /* screen 2 start h /
// LCD_WRITE_REGLH(0x12>>1,LCD_REG12, LCD_REG13); /
mem adr. offset, screen 1 vsize(lsb)*/
// LCD_WRITE_REGLH(0x14>>1,LCD_REG14, 0);
// LCD_WRITE_REGLH(0x1a>>1,0, LCD_REG1B);
// LCD_WRITE_REGLH(0x1c>>1,LCD_REG1C, 0)
#define LCD_INIT_CONTROLLER() LCD_Init_local()
5、LCDTemplate.c
在LCDTemplate.c中实现GUI对LCD操作的两个最基本函数接口
(a)、读点
在这里插入图片描述
第432行调用自己驱动的读点函数(读取某一个像素点的颜色)

(b)、画点
在这里插入图片描述
在第404行调用自己的画点函数(画某一个像素点指定颜色);

(c)写一个测试程序测试
/* USER CODE BEGIN 2 /
GUI_Init();//GUI初始化函数
GUI_SetBkColor(GUI_BLACK);
GUI_SetColor(GUI_BLUE);
GUI_DispString(“Hello word”);
GUI_SetColor(GUI_RED);
GUI_DispStringAt("—Li ziqiang",132,300);
GUI_SetColor(GUI_WHITE);
GUI_DrawCircle(120,160,119);
/
USER CODE END 2 */

/* Infinite loop /
/
USER CODE BEGIN WHILE /
PROGBAR_Handle progbar;
GUI_SetColor(GUI_RED);
progbar=PROGBAR_Create(70,150,100,15,WM_CF_SHOW);
GUI_Exec();
PROGBAR_SetBarColor(progbar,0,GUI_BLUE);
//PROGBAR_SetText(GUI_RED,“wo shi pro”);
while (1)
{
for(int i=0;i<100;i++)
{
PROGBAR_SetValue(progbar,i);
HAL_Delay(100);
GUI_Exec();
}
HAL_Delay(2000);
/
USER CODE END WHILE */

/* USER CODE BEGIN 3 */

}
6、我使用的LCD驱动器为ILI9341,驱动程序参考正点原子的LCD驱动程序

二、声明:该文章用于记录我自己的移植过程,不做任何商业用途,如有侵权请联系删除!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
uC-GUI-V3-98-完整源码未删减版本,内容很全面。文件目录列表 ─uC-GUI ├─Doc ├─Sample │ ├─Application │ │ ├─Dashboard │ │ ├─NEC_BuildingManagem │ │ └─NEC_Pingpong │ ├─GUI │ │ ├─VSCREEN_MultiPage │ │ └─WIDGET_Checkbox │ ├─GUIDemo │ ├─GUI_X │ ├─LCDConf │ │ ├─LCD0323 │ │ ├─LCD07X1 │ │ ├─LCD1200 │ │ ├─LCD13701 │ │ ├─LCD1611 │ │ ├─LCD161620 │ │ ├─LCD1781 │ │ ├─LCD501 │ │ ├─LCD6331 │ │ ├─LCD66750 │ │ ├─LCD667XX │ │ ├─LCDColorOnMono │ │ ├─LCDFujitsu │ │ ├─LCDLin │ │ ├─LCDLin32 │ │ ├─LCDMem │ │ ├─LCDMemC │ │ ├─LCDPage1bpp │ │ ├─LCDPage4bpp │ │ ├─LCDSLin │ │ ├─LCDVesa │ │ └─LCDXylon │ ├─LCD_X │ └─MakeLib │ ├─8051_Keil │ ├─ARM_GNU │ ├─ARM_IAR │ ├─M16C_NC30 │ ├─M16C_TASKING │ ├─M32C_NC308 │ ├─MC80_IAR │ ├─MSP430_IAR │ ├─V850_GHS │ ├─WIN32_MSVC60 │ ├─WIN32_WATCOM │ └─X86_WC16 ├─Start │ ├─Application │ ├─Config │ ├─GUI │ │ ├─AntiAlias │ │ ├─ConvertColor │ │ ├─ConvertMono │ │ ├─Core │ │ ├─Font │ │ ├─LCDDriver │ │ ├─MemDev │ │ ├─MultiLayer │ │ ├─Widget │ │ └─WM │ └─System │ └─Simulation │ ├─Res │ ├─SIM_GUI │ │ └─Branding │ └─WinMain └─Tool
UCGUI 3.98 是一个非常有用的嵌入式图形用户界面库,它被广泛用于嵌入式系统的界面设计和开发中。移植UCGUI 3.98可以让我们在不同的硬件平台上使用它,并享受到它提供的各种功能。 首先,进行UCGUI 3.98移植前,我们需要考虑目标平台的硬件特性和操作系统的相关接口。因为UCGUI 3.98通常是在操作系统之上运行的,所以我们需要适配UCGUI 3.98与目标操作系统之间的接口。 其次,我们需要了解目标平台的显示驱动和输入设备驱动。UCGUI 3.98是一个图形用户界面库,它需要与硬件交互来实现图形的显示和用户输入的响应。因此,我们需要移植UCGUI 3.98显示驱动和输入设备驱动,确保它们能够与目标平台兼容。 接着,我们需要把UCGUI 3.98的源码和头文件导入到我们的开发环境中。我们需要根据目标平台的编译器和代码组织规则,进行一些必要的修改和调整。我们还需要根据目标平台的内存和存储限制,对UCGUI 3.98的配置文件进行相应的修改。 然后,我们需要在目标平台上实现UCGUI 3.98所需的底层驱动和接口函数。这些包括显示驱动函数、输入设备驱动函数、内存管理函数等。这些驱动和接口函数的实现需要根据目标平台的硬件特性和操作系统的相关接口进行适配。 最后,我们需要对移植后的UCGUI 3.98进行一些测试和调试,确保它能够在目标平台上正常运行,并且能够满足我们的需求。 总之,移植UCGUI 3.98需要考虑目标平台的硬件特性、操作系统的相关接口、底层驱动的实现,以及对UCGUI 3.98源码和配置文件的修改。通过正确的移植和配置,我们可以在不同的嵌入式系统上使用UCGUI 3.98,并享受到它提供的强大功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值