迪文科技论坛

 找回密码
 立即注册
搜索
查看: 1800|回复: 0

【分享】DGUSII的花式图片切换切换页面动效实现方法

[复制链接]

82

主题

150

回帖

2626

积分

超级版主

Rank: 8Rank: 8

积分
2626
发表于 2019-6-13 18:53:18 | 显示全部楼层 |阅读模式
效果展示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实现的好处是动效的流畅性可能比串口指令接收处理更加流畅,也可减轻单片机的工作处理量。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|迪文科技论坛 ( 京ICP备05033781号-1 )

GMT+8, 2024-12-5 10:29 , Processed in 0.081988 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表