通过DGUS触摸屏实现长按、短按按键启动不同功能的效果

DGUS中有一个功能,可能用的人不多,所以不太了解,叫“触摸屏按压状态返回”。这个控件也是一个触摸控件,配合页面上的按钮来实现触控功能。“触摸屏按压状态返回”与普通的“基本触控”的主要区别在于,它除了可以实现基本触控的功能(按键效果,页面切换)外,还可以判断触摸的状态。一次触摸操作一共包含3个状态:按下,持续按压,抬起。这三个阶段结合起来就完成了一次完整的触摸操作。

通过DGUS触摸屏实现长按、短按按键启动不同功能的效果_第1张图片

“触摸屏按压状态返回”控件可以帮助识别这三个阶段,对于长按/短按来说,其实就是持续按压时间长短,或者有没有持续按压状态的区别了。在DGUS软件中,可以选择使用哪一种状态,也可以对每一种状态进行配置。配置内容简单来说就是按下后上传什么数值,数值要上传到哪里去。下面是开发指南的截图,大家可以参考。

通过DGUS触摸屏实现长按、短按按键启动不同功能的效果_第2张图片

举例来说,如果我希望第一次按下时,屏幕给串口发一个1,告诉单片机我按下了,那么我就要先把数据1放在一个地址中存起来,这个地址是VP1S,假设VP1S是0x1000;然后在DGUS软件中对应第一次按下的状态(TP_ON_MODE)设置一下数据返回模式,其中,返回模式为0x02时,DGUS屏可以自动从一个地址中读取指定长度的数据并发到串口,所以将模式设置为0x02即可。

通过这个功能,还可以将一个地址中储存的数据转移到其他地址中,这个功能对应了模式0x01。DGUS II产品中系统变量也是储存在变量地址中的(与老DGUS不同,老DGUS是存在寄存器中的),所以通过这个控件也可以实现系统变量操作,例如读版本号、读AD值、读/写背光值、读/写RTC、切换/保存页面、控制音乐播放、启动储存器读写、加载JPEG图像等等等等。

同理,对于持续按压模式和抬起模式也可以做类似的设置。单片机可以根据返回的数值判断按压状态、并执行相应的操作。

你可能感兴趣的:(迪文)