android 触摸防抖,一种触摸屏防抖优化方法、系统及触摸屏终端与流程

db14fd242919bcb320509b233c033b76.gif

本发明涉及触摸屏技术领域,尤其涉及一种触摸屏防抖优化方法、系统及触摸屏终端。

背景技术:

随着电子信息产业的快速发展,触摸屏作为具有人机交互功能的智能产品,应用面极为广泛,但其存在着较多的触摸抖动问题。现有的去抖动方法是判断当前触点坐标与其前一个触点坐标的距离是否小于或等于阈值,借此判断当前的触点坐标是否发生抖动,如果发生抖动就将当前的触点坐标丢弃,这种方法极易造成画线不连续的问题;此外,以电阻触摸屏为例,普通去抖动方法只是通过延时采样剔除散点来解决,然而触摸屏越大,分布的杂散电容也越大,切换通道到稳定采样的时间也会越长,再使用上述方法就必须加大延时时间,必定会严重降低响应速率和ADC的使用效率,不能保证ADC采样的数据的准确性。

技术实现要素:

针对上述存在的技术问题,本发明提供了一种触摸屏防抖优化方法、系统及触摸屏终端,所述触摸屏防抖优化方法包括以下步骤:连续获取触摸屏当前触点的坐标,对获取的坐标按照坐标值从小到大或从大到小排序,筛选排序得到序列两端的特定个数采样点的抖动坐标,去除抖动坐标;所述特定个数是触摸屏电容达到充电饱和前的采样点的个数。

优选地,还包括对去除抖动坐标后的触点坐标进行低通滤波;

优选地,多次获取触摸屏当前触点的坐标的具体步骤包括:

A1、识别触点信号,触发中断程序;

A2、切换坐标轴;

A3、ADC进行采样;

A4、采样结束,切换至另一坐标轴,ADC再次进行采样;

A5、再次采样结束,跳出中断程序;

A6、执行A1-A5。

优选地,所述触摸屏电容达到充电饱和前的采样点的个数为1~3个。

所述触摸屏防抖优化系统,包括获取模块,用于多次获取触摸屏当前触点的坐标;排序模块,用于对获取的坐标进行排序;筛选模块,用于筛选排序所得序列两端的特定个数的抖动坐标,并去除抖动坐标,所述获取模块、排序模块和筛选模块依次相连。

所述排序模块的排序是将采样按坐标值从大到小依次递减排序或从小到大依次递增排序。

所述筛选模块筛选的特定个数是触摸屏电容达到充电饱和前的采样点的个数。

所述触摸屏终端,包括前述触摸屏防抖优化系统。

本发明解决了现有技术中未经排序筛选直接剔除抖动点所造成的画线不连续的问题,同时提升了触摸屏的响应速率和ADC的使用效率,此外利用低通滤波,更好地保证了输出信号的连续性,实现了对触摸屏数据的优化。

附图说明

图1为触摸屏防抖优化方法的流程图;

图2为触摸屏防抖优化方法的另一种流程图;

图3为触摸屏防抖优化系统的结构框图;

图4为触摸屏防抖优化系统的另一种结构框图;

图5为触摸屏终端的结构框图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

实施例1

图1为触摸屏防抖优化方法的流程图。

步骤101,多次获取触摸屏当前触点的坐标,步骤102,对获取的坐标进行排序,步骤103,筛选排序所得序列两端的特定个数的抖动坐标,步骤104,去除抖动坐标。其中,所述的多次获取触摸屏当前触点的坐标的具体步骤包括:

A1、识别触点信号,触发中断程序;

A2、切换坐标轴;

A3、ADC进行多次采样;

A4、再次切换至另一坐标轴,ADC再次进行多次采样;

A5、跳出中断程序;

A6、当产生触点中断时,执行A1-A5。

以四线电阻屏为例,触点信号的识别,是根据检测特定引脚,如INT引脚的电平状态实现的;ADC进行的多次采样原理如下,对X轴(水平轴)给电压,Y-(竖直轴一端)悬空,测Y+(竖直轴另一端)处电压。此时Y+处相当于X轴按下位置的抽头点,X轴坐标即为X_Pos=Vadc/Vx*X_Length。式中X_Pos为实际触点位置,Vadc为ADC采样电压,Vx为X轴上的整个压降,X_Length代表X轴的长度。通过切换坐标轴后多次采样的方法,延长坐标轴电压稳定时间,以降低电容充放电带来的干扰。

对获取的坐标排序,包括从大到小依次递减排序或从小到大依次递增排序。

由于多次采样时坐标轴并未切换,所以触摸屏电容将在特定个数采样点后达到饱和充电,如果触点中断产生,会有特定个数的采样点发生漂移现象,故将特定个数确定为触摸屏电容达到充电饱和前的采样点的个数。

在另一种实施例中,如图2所示,还包括步骤201,对去除抖动坐标后的触点坐标进行低通滤波,滤波原理如下:

y[n]=a*x[n]+(1-a)*y[n-1],其中y[n]为本次滤波结果,x[n]为本次采样值,y[n-1]为上次滤波结果,a为滤波系数,a的数值的大小可以通过实际采集的数据通过画图的方式调节。

实施例2

图3为触摸屏防抖优化系统的结构框图。

触摸屏防抖优化系统,包括获取模块301,用于多次获取触摸屏当前触点的坐标;排序模块302,用于对获取的坐标进行排序;筛选模块303,用于筛选排序所得序列两端的特定个数的抖动坐标,并去除抖动坐标。其中,排序模块的排序包括从大到小依次递减排序或从小到大依次递增排序。筛选模块筛选的特定个数为至少1个,至多3个。

在另一种实施例中,如图4所示,还包括低通滤波模块401,用于对去除抖动坐标后的触点坐标进行低通滤波。

其中,所述低通滤波模块可以是一级递归滤波器,滤波原理如下:

y[n]=a*x[n]+(1-a)*y[n-1],其中y[n]为本次滤波结果,x[n]为本次采样值,y[n-1]为上次滤波结果,a为滤波系数,a的数值的大小可以通过实际采集的数据通过画图的方式调节。

实施例3

图5是触摸屏终端的结构框图。

触摸屏终端包括了上述触摸屏防抖优化系统。

本发明方案所公开的技术手段不仅限于上述实施方式所公开的技术手段,还包括由以上技术特征任意组合所组成的技术方案。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/574829.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 基于数据库资源的多语言实现...

以前的开发平台里,是用xml语言包实现了多语言功能,现在新的平台里进行了调整,把多语言包资源放在数据库表里实现了。 我们系统预留了多语言的配置全局变量、可以通过配置这个参数达到切换多语言的目的 我们在选项管理里增加一个多语言选择的选…

手机投屏不是全屏怎么办_手机投屏怎么满屏

手机投屏是很多小伙伴们都喜欢玩的,不少小伙伴们小伙伴们在使用手机投屏的时候发现不能满屏,想要知道方法的小伙伴们,就让小编给大家详细的讲讲满屏方法吧。手机投屏怎么满屏1、手机具有投屏的功能。目前大多数手机都已经具备发无线投屏的功能…

android开发ui插件下载,TKUISDK-ANDROID

更新记录4.3.4(2021-04-29)1、修改请求权限在进入教室后 需删除之前版本的请求权限代码,并添加 权限请求回调代码 详见文档进入教室 2.4.1.12 新增旁听生身份3 新增大班课红包功能4 修复已知bug4.3.0(2021-04-01)1、一对一教室pad端“视频居左/居右”可拖拽改变课件区、视频区比…

C语言第一节 C语言程序与开发工具

开发工具的选择 可以用来写代码的工具:记事本、UltraEdit、Vim、Xcode等 选择Xcode的原因:苹果官方提供的开发利器、简化开发过程、有高亮显示功能 使用Xcode新建一个C程序的源代码文件(拓展名为.c或者.C) 打开Xcode 新建文件 选择…

android 关机闹钟 实现,安卓关机闹钟:你所不知道的关机闹钟的背后

可以通过其他方式实现关机闹钟事实上大家也大可不必抱怨Android手机或者是iPhone的固执做法,因为目前在Android手机当中,全新的“明”系列摩托罗拉A1680就已经支持关机闹钟了,这就更加说明了该功能和系统无关。而苹果iPhone也可以通过一些非常…

flux读取不到数据_初学flux的疑问?无法添加数据到DOM

我初学flux,照着网上的代码,尝试学习写了一个简单的添加数据表页面,如图:我想实现的功能是在下方表单填写数据之后点击提交可以实时的在上方表格添加一条数据,现在碰到的问题是我点击提交毫无反应也没有报错。我的架构是这个样子的…

列表视图

列表视图 分类: SharePoint入门2014-10-14 00:10 298人阅读 评论(0) 收藏 举报SharePointlist view使用View,可以按照特定的要求和条件展示List/Library里面的条目。View可以做一下设定来显示数据: 1. 显示哪些属性(column) 2. 属性…

android 线程 界面,android开发教程之子线程中更新界面

每个Handler对象与创建它的线程相关联,并且每个Handler对象只能与一个线程相关联。Handler一般有两种用途:1)执行计划任务,你可以再预定的实现执行某些任务,可以模拟定时器。2)线程间通信。在Android的应用启动时,会创…

vue怎么让接口带上cookie_在Vue中如何使用Cookie操作实例

大家好,由于公司忙着赶项目,导致有段时间没有发布新文章了。今天我想跟大家谈谈Cookie的使用。同样,这个Cookie的使用方法是我从公司的项目中抽出来的,为了能让大家看懂,我会尽量写详细点。废话少说,我们直…

python 简历处理_按照这个方式学Python,老板把垃圾桶里的简历舔回来:月薪50000...

对于Python相信很多人都不陌生,相较于Excel、Tableau、PowerBI等普通的数据分析工具来说,Python的优势显然要大很多。Python有很多优点,如果你能很好的运用到工作中,会发现工作效率大大提升,涨薪也是再正常不过的事情。…

鸿蒙系统下载 绿色,PGWARE PcMedik

pcmedik,一款可以优化你的电脑,让pc发挥更大的性能,大大减少死机的事件。pcmedik操作简单,其优化过程只需三个步骤:①选择一个本机当前正在使用的操作系统。②选择本机使用的cpu类型。③点击[优化&#xff…

attr和prop区别

今天写了个小程序,获取input[checked]属性,$(#check1).attr(checked),结果返回undefined,查询了一番, 如果是具有true和false两个属性值的属性 如checked selected 或者disabled获取该属性值要用prop()返回boolean值&a…

html5视频抓取,js和HTML5基于过滤器从摄像头中捕获视频的方法

这篇文章主要介绍了jsHTML5基于过滤器从摄像头中捕获视频的方法,涉及javascript基于html5元素操作多媒体的使用技巧,需要的朋友可以参考下本文实例讲述了jsHTML5基于过滤器从摄像头中捕获视频的方法。分享给大家供大家参考。具体如下:index.html页面:Nat…

Android Audio Play Out Channel

1: 7嘴8舌 扬声器, 耳机, 和听筒 就是通过: audiomanager.setmode(AudioManager.MODE_IN_COMMUNICATION)audiomanager.setSpeakerhponeOn(boolean value).这两个来设置.不过有的好像不支持的. 米手机上切换 扬声器和听筒不能切换 Android AudioTrack音频播放分析 音频资源在播…

c html转换成word,C#实现HTML转WORD及WORD转PDF的方法

本文实例讲述了C#实现HTML转WORD及WORD转PDF的方法。分享给大家供大家参考。具体如下:功能:实现HTML转WORD,WORD转PDF具体代码如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Dat…

bootstrap下拉框分页_【Bootstrap】 bootstrap-select2下拉菜单插件

这次开发了个小TRS系统,虽然是很小,但是作为初心者,第一次用到了很多看起来洋气使用起来有相对简单的各种前端(主要是和bootstrap配合使用)组件。包括bootstrap-select2,bootstrap-datetimepicker,bootstrap-fileinput…

Java-eclipse快捷键及设置

CtrlD: 删除当前行 CtrlAlt↓ 复制当前行到下一行(复制增加) CtrlAlt↑ 复制当前行到上一行(复制增加) Alt↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了) Alt↑ 当前行和上面一行交互位置(同上) Alt← 前一个编辑的页面 Alt→ 下一个编辑的页面(当然是针对上…

html 网页主题设置吗,如何使用css样式对html页面进行背景设置呢?

摘要:下文讲述css样式对html页面的背景色、背景图片进行相关设置的方法分享,如下所示:在html中,定义元素的背景信息,可以采用以下css属性,如下所示:css属性功能background在此属性中,我们将所有的背景设置都放入此属性值中backgro…

redis 缓存 @class: 会有 $hibernateproxy_微信亿级在线点赞系统,用Redis如何实现?

点赞功能大家都不会陌生,像微信这样的社交产品中都有,但别看功能小,想要做好需要考虑的东西还挺多的,如海量数据的分布式存储、分布式缓存、多 IDC 的数据一致性、访问路由到机房的算法等等。图片来 Pexels本文介绍大型社交平台点…

Xcode怎样调整模拟器大小

快捷键: Command 1:显示100%大小 Command 2:显示50%大小(默认)转载于:https://www.cnblogs.com/xiaofeng6636/p/4311753.html