如何解决触摸屏抖动问题
2010-07-27 09:28
155 查看
买了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连抖都不抖了,
如果还会抖,就是你的手在抖了 ^_^
原帖地址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连抖都不抖了,
如果还会抖,就是你的手在抖了 ^_^
相关文章推荐
- 如何解决触摸屏抖动问题
- slideUp() 和slideDown() 如何解决反复抖动的问题
- 如何解决触摸屏的电磁干扰问题【转】
- 【原创】彻底解决2440触摸屏跳点以及抖动问题
- 如何解决Eclipse按"alt+/"后闪屏(窗口闪个不停/不停抖动)的问题
- 彻底解决2440/2410触摸屏跳点以及抖动问题
- 地球,请你不要颤抖!----如何解决ArcGIS Globe视角模式切换产生抖动的问题
- 彻底解决2440触摸屏跳点以及抖动问题
- 如何解决bgp路由在igp路由表中抖动的问题
- 彻底解决2440触摸屏跳点以及抖动问题
- 看看如何解决“SQL Server只能使用Windows身份登录,不能使用sa等Sql server身份进行登录”的问题
- Puppet扩展篇2-如何使用虚拟资源解决puppet冲突问题
- 如何解决从mysql中读取数据时显示为乱吗的问题.
- 如何解决金山词霸与卡巴斯基的冲突问题
- 内存泄漏的问题如何解决(linux)
- iOS开发工具-如何使用网络封包分析工具Charles,通过配置proxy对http、https、tcp、udp 等协议的请求响应过程交互信息进行分析、判断、解决我们移动开发中的遇到的各种实际问题。
- Android 触摸屏(TP)问题现象分析和解决方法汇总
- 如何解决代码版本不一致的问题
- 如何解决windows防火墙无法启动的问题
- 如何解决Xcode5上传应用时找不到图标的问题。