迪文科技论坛

 找回密码
 立即注册
搜索
查看: 2625|回复: 4

【os范例】“防盗键盘”分享一套关于按钮效果的UI设计-用...

[复制链接]

82

主题

153

回帖

2777

积分

超级版主

Rank: 8Rank: 8

积分
2777
发表于 2019-9-17 17:56:36 | 显示全部楼层 |阅读模式
大家好,今天我要给大家分享的是一个用os非常有意思的小功能,我们直接先欣赏一下拍摄的演示视频效果吧!

http://cache.tv.qq.com/qqplayerout.swf?vid=f0927enan31


上述的效果,实际是用了6张不同键盘,包括6张不同的按钮效果图片设计,这是一种最能快速实现该效果的办法。
这次
UI键盘的设计采用wps演示文稿制作出来的UI,尽管设计工具的确很low,界面选取的宝石蓝的按钮色,配合深色的底图,宛如天空的明净或者是大海深邃,给人的感觉是低调、清新、沉稳。

其中两张图片组合出的按钮效果是采用按下去消失的浮空效果,给人机交互体验及其增色,希望可以给朋友们带来UI设计上的新的灵感,文章末尾图片仅供参考。

当然该演示demo用的随机键盘(“防盗键盘”),是采用迪文的os汇编功能实现的,os的代码大约100行左右,非常精简优化,我们可以看到迪文os功能用好了其实是非常强大和灵活的。

当一个功能能完美实现是非常开心的,程序的魅力大概就是如此,
虽然这个功能可能应用不是特别广泛,分享给大家除了上面说的按钮效果这点,主要顺便附上一些os功能的写法,希望能给大家带来一些启发。

  ;内核程序:T5L或者T5
  ;编程环境:DWIN_OS_Builder V3.0.2.6
  ;通讯波特率:115200bps
  ;串口模式:8N1
  ;程序功能:T5L/T5 基于迪文的os功能实现随机录入键盘效果
  ;编写时间:;2019年09月17日
  ;屏幕分辨率:800x480


随机数获取实现原理:(分享两个能快速用迪文os汇编实现的处理办法)


方法1、用迪文定时器,
让一个定时器的数一直递加,例如:os判断a的值,if(a>6)a=1,1-6出现的概率是相等的,
此时得到的a的值就是相对随机的,程序里面选取了6个阶段不同的时间。

方法2、如果您使用的屏是带了RTC时间,我们可以取RTC时间的“秒”的值,
例如要像demo里面采用的6张随机键盘,我们可以分成1~10秒,11~20秒...41~59秒这样6段不同的时间,切换不同的页面ID,

当然也有随机数遇到相同的时候,那么该程序还做了如下处理。
随机数不重复实现原理:
;1<页面ID<7,即2~6之间的页面数,就将页面减少1  
;如果不是,说明,页面=1 ,就直接赋值页面ID=6,这样能保证切换不会是上一次的页面。


当然,您也许不习惯用迪文的os汇编,其实这个功能如果不用os实现,我们看了上面说的这几个原理,用单片机发串口程序一样的可以很轻松实现。
该demo如果要配合密码登录与判断、改写的功能,我们还也结合论坛上面另外的一个os密码登录与改写的例子,实现更加完善的功能。











本帖子中包含更多资源

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

x
回复

使用道具 举报

45

主题

254

回帖

3720

积分

论坛元老

Rank: 8Rank: 8

积分
3720
发表于 2019-9-18 13:21:08 | 显示全部楼层
我看你用WPS做的键盘一点也不LOW,你给我们指出了一条新路子啊,这个界面美工用PS至少一小时.
现在能用keil直接编程后,用串口2调试的功能以及串口缓冲解析的功能都要自己做.T5_OS.bin的C源代码能放出的话,更加炫酷的功能也会被开发出来,群众的力量是强大的
回复

使用道具 举报

0

主题

181

回帖

1983

积分

金牌会员

Rank: 6Rank: 6

积分
1983
发表于 2019-9-18 13:58:18 | 显示全部楼层
舞指飞扬 发表于 2019-9-18 13:21
我看你用WPS做的键盘一点也不LOW,你给我们指出了一条新路子啊,这个界面美工用PS至少一小时.
现在能用keil直 ...

T5L的标准品一般引出的是串口2和串口4,串口2是OS底层内核做好的DGUS协议。如果使用KEIL C的程序,就会将原有的串口2的汇编OS内核冲掉,那么此时原有串口2将不能再支持DGUS协议了。
附件中是串口2支持DGUS协议的参考程序,可以用于这种情况恢复串口2的DGUS功能。
如果有兴趣的可以参考参考。

本帖子中包含更多资源

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

x
回复

使用道具 举报

45

主题

254

回帖

3720

积分

论坛元老

Rank: 8Rank: 8

积分
3720
发表于 2019-9-19 09:38:43 | 显示全部楼层
hao8584 发表于 2019-9-18 13:58
T5L的标准品一般引出的是串口2和串口4,串口2是OS底层内核做好的DGUS协议。如果使用KEIL C的程序,就会将 ...

这个要好好看一看
回复

使用道具 举报

11

主题

15

回帖

224

积分

中级会员

Rank: 3Rank: 3

积分
224
发表于 2020-7-2 14:51:17 | 显示全部楼层
请问 手指移开按键时自动恢复到未按下效果是怎样实现的,我这边只能手指抬起后才恢复到未按下效果
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-4 00:05 , Processed in 0.058255 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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