演示视频
1.概述
基于迪文屏DMG32240C028-03WTC屏的滑动手势6宫格解锁功能,该功能运用了触摸屏状态读取和坐标读取的功能(系统变量接口0x0016),绘图功能,需要配合变量图标显示等基本功能即可完成整个功能的开发。读取触摸屏状态和坐标,主要用于判断当前是否有触摸操作,触摸区域是否为有效区域;绘图功能主要实现连线效果,为了达到更好的显示效果,可以通过描述指针修改线条粗细以及线条颜色,会更加美观;变量图标用于在判断为有效触控时,改变显示内容以达到提示的效果。
用到的系统变量接口:
2.GUI设计
(1)首页,包含基本图形显示控件,用于显示选中图标之间的连线;变量地址设置为1200,端点画线功能参考如下:
(2)图标显示,总共两种状态,未触摸为状态图标2,触摸到有效区域显示图标3;
(3)设定密码界面,和首页基本一样
(3)解锁后页面
(4)设定密码确认界面
4.程序设计
#include "Lock.h"
//=======================================================================================
u16 xdata Power_Down_Save_Address[]={PASS_WORD_ADD(0),PASS_WORD_ADD(1),PASS_WORD_ADD(2),PASS_WORD_ADD(3),PASS_WORD_ADD(4),PASS_WORD_ADD(5),0x10D8,0x10D9,
0x10DA,0x10DB,0x10DC,0x10DD,0x10DE};//掉电保存地址
u16 xdata Power_Down_Save_Data[]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};//掉电保存数据
#define SAVE_NUMBER 6
//========================================================================================
u16 xdata T_number_0=0; //屏保用
u16 xdata T_NUMBER_1=0;
u16 xdata T_NUMBER_2=0;//
u16 xdata Page_now=0;//当前页面
u16 xdata Tp_state=0;//当前按压状态
u16 xdata Coord_x=0;//当前x坐标
u16 xdata Coord_y=0;//当前y坐标
bit Tp_flag=0;//按压处理标志
u16 xdata number_one=300;
u16 xdata number_two=180;
u16 xdata Pass_word[PASSWORD_NUMBER+1]={0}; //密码值
u16 xdata Mapping_coor[PASSWORD_NUMBER*2+2]={0}; //绘图坐标点
u16 xdata Pass_word_count=0;//密码个数
//u8 Flaga=0;//当前故障
u8 Flagb=0;//屏保用
u8 Flagc=0;//屏保用
u8 Flagd=0;//绘图用
//==========================================================================&