1. 首先要先把LCD 的驱动写好,能够正常显示 这个驱动程序一般买控制器的时候 厂家就会给的。 2. 加入UCGUI程序包(工程里面的程序必须用同一版本的ucfui版本) 3. 配置LCDConfig.h 文件 需要包含LCD驱动程序头文件 修改以下几点 根据实际的LCD 像素大小而设置 a. #define LCD_XSIZE (160) //配置TFT的水平分辨率 b. #define LCD_YSIZE (128) //配置TFT的垂直分辨率 c. #define LCD_CONTROLLER (54124) //TFT控制器的名称//有一些LCD控制器可以这样直接调用数字具体的 型号在手册379页里面。 但是RA8875 就不用这个定义 d. #define LCD_BITSPERPIXEL (16) //每个像素的位数 e. #define LCD_FIXEDPALETTE (565) //调色板格式 f. #define LCD_SWAP_RB (1) //红蓝反色交换 g. #define LCD_INIT_CONTROLLER() TFT_Init() ; //这里定义屏的初始化函数 //此处需要定义的是你的实际TFT初始化函数(来自于LCD驱动程序里面定义)这是最重要的 4. 配置GUIConf.h文件 修改一下几点: #define GUI_OS (1) //说明工程用到了多任务(ucos) #define GUI_SUPPORT_TOUCH (0) //是否使用触摸 #define GUI_SUPPORT_UNICODE (1) //Unicode支持 #define GUI_DEFAULT_FONT &GUI_Font6x8//GUI默认字体(初始化GUI时不修改字体大小就默认为这个字体) #define GUI_ALLOC_SIZE 5000 //动态内存的大小 #define GUI_WINSUPPORT 1 //窗口控件支持 #define GUI_SUPPORT_MEMDEV 1 //支持内存设备 #define GUI_SUPPORT_AA 1 /* Anti aliasing available *///不懂? 5. 如何让GUI可以自动找到LCD底层驱动函数这就需要修改LCDConf.h文件来修改液晶接口函数 LCD 底层驱动程序需要含有设置一个像素函数和获取一个像素的颜色函数: 这是原来液晶驱动的程序: void LCD_SetPixel(unsigned short x, unsigned short y, unsigned shortcolor) //设置某个点的颜色 unsigned short LCD_GetPixel(unsigned short x, unsigned short y) // 画点函数 现将LCD驱动程序的一些函数名称换成UCGUI标准名称的函数 int LCD_L0_Init(void) { TFT_Init(); return 0; } 这个函数是GCGUI初始化TFT需要调用的,里面的函数就是你TFT底层驱动的初始化函数。 void LCD_L0_SetPixelIndex(int x, int y, int PixelIndex) { LCD_SetPixel(x,y,PixelIndex); } unsigned int LCD_L0_GetPixelIndex(int x, int y) { return LCD_GetPixel(x,y); } 最好用define 重新定义一下 即: #define LCD_L0_SetPixelIndex(int x, int y, intPixelIndex) LCD_SetPixel(x,y,PixelIndex); #define unsigned intLCD_L0_GetPixelIndex(int x, int y) LCD_GetPixel(x,y) 8875的GUI 在文件GUIDV_Template.c 里面有函数 file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image002.jpg file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image004.jpg 这样GUI的所有函数都可以使用8875的底层函数了 以下写带有触摸的移植要点 在GUITouchConf.h 文件里面写 #define GUI_TOUCH_SWAP_XY 0 #define GUI_TOUCH_MIRROR_X 1 #define GUI_TOUCH_MIRROR_Y 1//我觉得这就是说XY 值是否交换 但是看不懂 #define GUI_TOUCH_AD_LEFT 350//3601//最左侧x轴AD转换值//当换液晶的时候 需要改这里 #define GUI_TOUCH_AD_RIGHT 3200//393//最右侧x轴AD转换值 #define GUI_TOUCH_AD_TOP 600//273//最上侧y轴AD转换值 #define GUI_TOUCH_AD_BOTTOM 2800 //3671//最下侧y轴AD转换值 |
【STM32H7S78-DK评测】-5 LVGL&DMA2D DEMO测试
【STM32H7S78-DK评测】-4 LTDC&DMA2D 基本测试
STM32F3DISCOVERY + UCGUI3.90A的移植(源码+视频)
STM32MP135F-DK开发板评测-Linux系统下基于gtk的计算器应用
STM32MP135F-DK开发板评测-Linux系统下的GTK计算器
STM32MP135F-DK开发板评测-裸机LTDC亮屏
基于STM32GUI TouchGFX 屏幕切换功能经验分享
STM32 GUI开发技能分享
X-NUCLEO-GFX01M1 开发板的 GUI 开发流程介绍
STM32 TouchGFX经验分享(一)
可能要学这个了