zoukankan      html  css  js  c++  java
  • 如何解决触摸屏抖动问题

    [分享] 如何解决触摸屏抖动问题(原创作者:harktrip )

    买了idea6410回来发现触摸屏有点抖动,后来和网友交流,说他们用官方的BSP不会抖动,我要了他们的BSP来比较,发现没有区别,这样基本就确定了是供电原因,所以要用软件的方法解决,后来CSDN刚好有人发帖,harktrip 老兄就贡献了自己的经验,多谢他,我还没有时间尝试,先发到我们网站给同志们一个参考;
    原帖地址http://topic.csdn.net/u/20090904/14/266859b0-3033-4cb5-96ec-f4f2a9c86dd5.html?seed=1877546056&r=59993985#r_59993985

    #define TSP_SAMPLE_NUM 20
    #define TSP_ADC_DELAY = 4000;
    至于调用的TIMER中断,每秒次数降到50次即可
    #define TSP_SAMPLE_RATE_LOW    (50)        // 50 Samples per Sec
    #define TSP_SAMPLE_RATE_HIGH    (50)    // 50 Samples per Sec
    (需确认PCLK和PWM_REGS算出来的每秒中断次数是不是符合50次)

    如此一来,抖都不抖,且反映够快,且占用系统时间短
    当初我是抓TOUCH会干扰串口的情况,就强迫好好的看TOUCH驱动,
    才发现..大家的(官方的)做法有疑异:

    TSP_ADC_DELAY大家都用10000,20000,40000这三种参数,
    其实这是错的,把ADC的DELAY时间延长,大家的意思可能是让信号多点时间稳定,
    但ADC转换本身就有误差,把时间延长并不能把信号更稳定,反而消耗系统时间而已.

    所以我把TSP_ADC_DELAY缩短,把读取平均次数TSP_SAMPLE_NUM加大,
    让cpu多读几次;多些数据累加平均,一试BINGO!!

    而且有效降低TOUCH占用中断的时间,
    上述的设定是占用2.1msec(从中断进入到离开中断)
    但如果改为:
    #define TSP_SAMPLE_NUM 10
    #define TSP_ADC_DELAY = 2000;
    占用可降低至0.15msec,虽然不抖了,但偶尔会发生位置编离的情况
    如果不在意占用时间的兄弟,可先把最上面的设定打进去,再来优化.

    so,改好了吗?
    是不是TOCUH连抖都不抖了,
    如果还会抖,就是你的手在抖了 ^_^
  • 相关阅读:
    SecureCRT 安装及初始化配置
    企业生产环境中linux系统分区的几种方案
    Django之验证码 + session 认证
    Django之上传文件
    Django之Cookie与Session
    Django之CSRF 跨站请求伪造
    web前端之 DOM
    c++ 之 字符和字符串
    web前端
    调用线程无法访问此对象,因为另一个线程拥有该对象
  • 原文地址:https://www.cnblogs.com/xfdarm/p/1615577.html
Copyright © 2011-2022 走看看