uc/GUI嵌入式图形体系不依赖于uc/os,能够轻松在中高端微控制器上移植成功,详细的移植进程网上现已有许多,依照过程来大多能成功。现在来说完成尽管uc/gui3.90并不是最新的版别,但却是入门运用的不贰挑选,是比较经典的版别,网上的教程也较多,合适新手学习。
uc/GUI3.98版别中完成了GIF动画显现,比较有意思,可是3.90版别里边并没有完成此功用,今日就一步步教你在ucGUI3.90版别中完成GIF动画显现。
一、 预备工作
首要预备好一个工程,要求工程现已完成了UCOS-II和UCGUI3.90的移植。
下载UCGUI3.98版别。
依据你所挑选的液晶的巨细,到网上下载一个GIF图片,在百度图片里边有许多。
二、 GIF图片数据提取
在ucgui3.90的下载包里边,有一个tool文件夹,里边有一些小工具,这儿咱们要用到的是Bin2C.exe。双击翻开。如下图所示,挑选select file,找到你下载的GIF图片,然后点击Convert进行数据转化,转化出来的是一个.C文件,里边是一个数组,比较大,存储了GIF图片的信息。
下图是转化出来的数据,留意看这个数组的第6、7位和第8、9位,第6、7位值为0X40、0X01,代表的是图片的宽度是320个像素点,也便是0x0140,转化成十进制便是320,同理8、9位是高度信息,0X01E0是480。有的时分在网上找到的图片信息并不精确,所以要以转化出来的数据为准。
三、 移植
之前现已说过了,3.90版别不支持GIF解码,所以咱们要把3.98版别里边与GIF相关的部分移植过来。
在3.98版别目录: \uC-GUI3.98\Start\GUI\Core下找到GUI_Gif.c文件。仿制到3.90的该目录下。
在目录:\ uC-GUI3.98\Sample\GUI下面现已给咱们供给了一个官方例程,
把这个文件增加到咱们的工程傍边。
然后你会发现MDK会报错,由于有一些和GIF相关的结构体类型及函数是未被界说的,在GUI.h头文件中增加如下声明。
在GUIType.h中增加如下界说
再然后调用2DGL_DrawGif.C里边的MainTask()函数,就能够看到作用了。
四、 显现自己的GIF图片
把你自己生成的GIF数据仿制出来替换2DGL_DrawGif.C里边的数组能够显现,可是有事图片数据许多,数组很大,放在文件里边不便于管理,所以咱们直接把生成的.C文件增加到工程傍边,
当然这样加进来还不可,
还要在2DGL_DrawGif.C 文件中声明外部数组,
extern unsigned const char gif_dat_1[];
由于数组较大,所以咱们无法事前确认数组的巨细,可是函数
_ShowMovie(*p,length);的第二个参数要求咱们传递数组的巨细,所以咱们需求处理一下,在gif_dat.c里边界说一个全局变量
long gif_dat1_len=sizeof(gif_dat_1);
然后在2DGL_DrawGif.C中声明一下。
extern long gif_dat1_len;
OK!!!功德圆满!!!上个图。
阐明:MainTask()函数里边的_ShowComments(),_ShowSubImages()这两个函数用不到能够屏掉。
还有_ShowMovie(const char * pFile, long FileSize)函数或许还需求你依据实际情况恰当修正。这个就自己来吧,祝你好运!!!