DGUS应用锦集(一)切换页面动效

时间:2018-10-11 分类:产品资讯

一、效果展示

效果展示1

(视频)

产品型号:DMT48270C043_07WT

分辨率:480*272


效果展示2

(视频)

产品型号:DMT10600C101_07WN

分辨率:1024*600


如上效果是利用了DGUS的“剪切图片区域”指令,将全屏图片逐步剪切至当前页面上,控制剪切过程即可实现相应的动画效果。剪切过程可以按顺序剪切,也可以打乱了顺序剪切,排列组合的方式有很多种。

视频中选用了基于T5CPU的DGUSII产品,DGUS运行周期为40ms,可以实现非常流畅细腻的动画效果。在实际应用过程中,即便是使用115200的波特率情况下,不间断的向DGUSII屏发送指令,DGUSII都能够处理过来,不必担心串口缓冲区溢出。


二、方案详解

1、在每个界面做一个基本图形控件,然后单片机按照40ms-50ms的频率发送图形剪切的指令。基本图形可以都用同一个地址,将基本图形控件置后,每次在切换页面之前,已经把待切换的页面图片先剪切到了基本图形控件上面,所以基本图形地址也无须清零剪切图像。

2、在界面上做一个按键返回,按键返回传值给单片机。如:5AA5 06 83 10 01 01 00 0A 单片机收到了这个按键返回协议。

3、发送基本图形剪切指令。假设需要从左上角往右下角下剪切,以480x272分辨率的屏为例,可以将xe和ye的坐标按照+30和+17的坐标像素点,大概在16个增量周期,从左上角至右下角逐步剪切至满屏显示,这中间消耗的时间为16*40ms=640ms,这个时间在500ms左右。

4、待剪切的指令完成,再发送切换页面指令。例如5AA5 07 82 0084 5A01 0001 (0001为切换到1号页面)。

 

三、DGUSII屏基本图形剪切指令解析

5A A5 15 82 2000 0006 0001 xsys xeye xy


2000 表示变量地址0x2000

0006 表示基本图形的剪切指令

0001 表示剪切的图片个数1

表示被前切的页面号,如0002表示图片位置02

xs  表示被剪切的页面的左上角起始x坐标

ys  表示被剪切的页面的左上角起始y坐标

xe  表示被剪切的页面的右下角起始x坐标

ye  表示被剪切的页面的右下角起始y坐标

x  表示基本图形控件显示的剪切位置起始x坐标

y  表示基本图形控件显示的剪切位置起始y坐标


5A A5 15 82 2000 0006 0001 0002 00320032 00640064 00330033,表示把02页面的坐标区域(50,50)(100,100)剪切到基本图形框2000地址的(51,51)位置。


当然,这个功能也可以用迪文的OS处理来实现。迪文DGUSII采用250MHz双核 T5CPU,OS和DGUS分别占用一个独立的内核,二者之间独立运行。OS也可参考用40-50ms的频率发送剪切指令的方法,通过OS实现的好处是动效的流畅性可能比串口指令接收处理更加流畅,也可减轻单片机的工作处理量。

  

通过迪文OS实现效果——动效的源demo下载链接如下,欢迎大家下载~

下载链接

https://pan.baidu.com/share/init?surl=QIHVmdPG1dlE8OTb-A9_hQ

提取码: q7tu




(作者/徐自成  OS制作/周奇峰 编辑/孙惠英)