哪有做奇石网站,怎样学剪辑制作视频,安徽太基建设官方网站,专业做网站公司怎么样在MDK环境下#xff0c;终于将3.90版本的UCGUI移植到STM32下了#xff0c;在网上看到的都是例程代码#xff0c;很少看到有关于在STM32下移植UCGUI的教程方法#xff0c;为了方便大家#xff0c;特写此移植方法#xff0c;大家可以借鉴#xff08;有错误之处#xff0c…在MDK环境下终于将3.90版本的UCGUI移植到STM32下了在网上看到的都是例程代码很少看到有关于在STM32下移植UCGUI的教程方法为了方便大家特写此移植方法大家可以借鉴有错误之处望大家指点出来共同讨论 移植步骤 第一步首先得把你的TFT底层驱动写好即在裸机下可以正常显示。 第二步加入UCGUI程序包。 第三步配置LCDConf.h GUIConf.h GUITouchConf.h(由于我的液晶不带触摸功能此配置在此不讲。) 配置LCDConf.h文件如下 #ifndef LCDCONF_H #define LCDCONF_H #define LCD_XSIZE (160) //配置TFT的水平分辨率 #define LCD_YSIZE (128) //配置TFT的垂直分辨率 #define LCD_CONTROLLER (54124) //TFT控制器的名称 #define LCD_BITSPERPIXEL (16) //每个像素的位数 #define LCD_FIXEDPALETTE (565) //调色板格式 #define LCD_SWAP_RB (0) //红蓝反色交换 #define LCD_INIT_CONTROLLER() TFT_Init() ; //此处需要定义的是你的TFT初始化函数 #endif /* LCDCONF_H */ 配置GUIConf.h文件如下 #ifndef GUICONF_H #define GUICONF_H #defineGUI_OS (1) //多任务 #define GUI_SUPPORT_TOUCH (0) //触摸 #define GUI_SUPPORT_UNICODE 1) //Unicode支持 #define GUI_DEFAULT_FONT GUI_Font6x8 //GUI默认字体 #defineGUI_ALLOC_SIZE 5000 //动态内存的大小 #defineGUI_WINSUPPORT 1 //窗口控件支持 #define GUI_SUPPORT_MEMDEV 1 //支持内存设备 #defineGUI_SUPPORT_AA 1 /* Anti aliasing available */ #endif /* Avoidmultiple inclusion */ 第四步最关键的一步。那就是让GUI能够找到你的LCD驱动。修改LCDDriver。 在编写你的TFT底层驱动程序的时候一定不能忘记编写这两个函数设置一个像素和获取一个像素的颜色因为后面很多UCGUI和你的TFT驱动关联起来需要这两个函数为前提。以我的TFT为例 void LCD_SetPixel(unsigned short x, unsigned short y, unsigned short color) { …. … } unsigned short LCD_GetPixel(unsigned short x, unsigned short y) { … … } 这两个函数写好并测试可以正常显示后接下来需要修改TFT与UCGUI关联的函数在一个C文件下我的是ili9320_ucgui.c建议大家在移植GCGUI之前最好下载个别人移植好的例程对着修改这样难度降低很多 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); } 上面两个函数是其他函数的最基本元素其他函数比如画线、点、圆都需要调用改函数。里面的LCD_SetPixel(x,y,PixelIndex)、LCD_GetPixel(x,y);就是你TFT底层驱动设置像素和获取像素的两个函数。 紧接着把该ili9320_ucgui.c文件下其他函数修改一下凡是遇到设置像素和获取像素的地方用以上两个函数代替。 接着修改另一个C文件ili9320_api.c这里修改很简单仅仅也是将设置像素和获取像素的函数替换掉自己定义的即可。 最后网上说需要修改那个GUI_X.c文件由于我下载的是STM32模板ILI9320的控制器那个文件没有修改。 PS我的开发环境MDK3.4以上版本CPUSTM32F103RB TFT与MCU接口模拟总线8位 1.8英寸 160×128分辨率的TFT UCGUI版本3.90 UCOS版本2.86 在原基础上仅仅修改了以下几个文件ili9320.c 、ili9320_ucgui.c 、ili9320_api.c 、GUIConf.h、LCDConf.h 由于网络的原因稍后将整个工程上传上去以及显示效果。呵呵 欢迎拍砖