效果展示1: 产品型号:DMT48270C043_07WT
分辨率: 480*272 https://v.qq.com/x/page/l0739g42zxf.html 视频中效果是利用了DGUS的“剪切图片区域”指令,将全屏图片逐步剪切至当前页面上,控制剪切过程即可实现相应的动画效果。剪切过程可以按顺序剪切,也可以打乱了顺序剪切,排列组合的方式有很多种。
效果展示2: 产品型号:DMT10600C101_07WN 分辨率: 1024*600 https://v.qq.com/x/page/l07392zqr19.html 视频中选用了基于T5 CPU的DGUS II产品,DGUS运行周期为40ms,可以实现非常流畅细腻的动画效果。在实际应用过程中,即便是使用115200的波特率情况下,不间断的向DGUS II屏发送指令,DGUS II都能够处理过来,不必担心串口缓冲区溢出。
方案详解
1、在每个界面做一个基本图形控件,然后单片机按照40ms-50ms的频率发送图形剪切的指令。基本图形可以都用同一个地址,将基本图形控件置后,每次在切换页面之前,已经把待切换的页面图片先剪切到了基本图形控件上面,所以基本图形地址也无须清零剪切图像。 2、在界面上做一个按键返回,按键返回传值给单片机。如:5A A5 06 83 10 01 01 00 0A 单片机收到了这个按键返回协议。 3、发送基本图形剪切指令。假设需要从左上角往右下角下剪切,以480x272分辨率的屏为例,可以将xe和ye的坐标按照+30和+17的坐标像素点,大概在16个增量周期,从左上角至右下角逐步剪切至满屏显示,这中间消耗的时间为16*40ms=640ms,这个时间在500ms左右。 4、待剪切的指令完成,再发送切换页面指令。例如 5A A5 07 82 0084 5A01 0001 (0001为切换到1号页面)。 DGUS II屏 基本图形剪切指令解析 5A A5 15 82 2000 0006 0001<pic_ID> xs ys xe ye x y2000 表示变量地址0x2000
0006 表示基本图形的剪切指令
0001 表示剪切的图片个数1
<pic_ID> 表示被前切的页面号,
如0002表示图片位置02xs 表示被剪切的页面的左上角起始x坐标ys表示被剪切的页面的左上角起始y坐标xe 表示被剪切的页面的右下角起始x坐标ye 表示被剪切的页面的右下角起始y坐标x 表示基本图形控件显示的剪切位置起始x坐标y 表示基本图形控件显示的剪切位置起始y坐标
5A A5 15 82 2000 0006 0001 0002 0032 0032 0064 0064 0033 0033,表示把02页面的坐标区域(50,50)(100,100)剪切到基本图形框2000地址的(51,51)位置。
当然,这个功能也可以用迪文的OS处理来实现。迪文DGUS II采用250MHz双核 T5 CPU,OS和DGUS分别占用一个独立的内核,二者之间独立运行。OS也可参考用40-50ms的频率发送剪切指令的方法,通过OS实现的好处是动效的流畅性可能比串口指令接收处理更加流畅,也可减轻单片机的工作处理量。
|