UCGUI移植成功

UCGUI是一种嵌入式应用中的图形支持系统,可以很方便的移植到各种平台上。

移植过程比较简单,在这里就不多说了,有兴趣的朋友可以 google或 baidu一下,都差不多,其实最关键的,还是 LCD底层驱动的开发。比较我用的是 ILI9325的显示屏驱动,根据 datasheet,无非就是发送命令,接收数据的过程,在些不表。

驱动中必须实现的是几个功能,初始化屏幕、SetPixel和GetPixel,然后,就是让 UCGUI能找到这些驱动,比如我在 ili9325_ucgui.c中实现如下几个函数

int LCD_L0_Init(void)
{  
   ILI9325_Init();
   return 0;
} 
 
void LCD_L0_SetPixelIndex(int x, int y, int PixelIndex)
{
   ILI9325_SetPixel(x,y,PixelIndex);
} 
 
unsigned int LCD_L0_GetPixelIndex(int x, int y)
{
   return ILI9325_GetPixel(x,y);
}

然后就可以调用

GUI_Init();
GUI_DispString("hello world!");

如果使用了 UCOS-II之类的操作系统,请为任务分配 256以上的堆栈,我就是因为之前只分了 64,直接 HardFault了。

下一步的目标是实现触摸屏的功能,然后就可以做个简单的 SD卡资源管理器了(之前已经实现了 SD卡的 FAT格式分区)。

PS:此图并非是使用上函数的结果,这是在 ili9325_api.c中自己写的输出文字的函数,根据字库打点。同时实现了一些如画直线,画圆等函数。大学时学的计算机图形学些时顿显重要,一想到陈老师,内流满面啊。

Leave a Reply