天嵌 ARM开发社区

 找回密码
 注册
查看: 4655|回复: 6

解决ADC与TQ2440触摸板驱动冲突的办法

[复制链接]
qiang1092 发表于 2010-3-20 23:09:32 | 显示全部楼层 |阅读模式
调了好些天,终于ADC驱动完成了。AD转换,读出的值在数码管显示(具体代码在我的博客,比较长,就不贴了)。
http://chenjunqiang08.blog.163.com/

    在TQ2440开发板上学习驱动编写的过程中,不少人会遇到编写ADC驱动,但是不能正常工作的的问题。
    触摸屏的AD转换一般会做成中断方式,也就是说:触摸屏的AD转换会触发中断,我们自己做的ADC驱动也会触发这个中断。

解决方法:

     在ADC驱动里,开始ad转换前屏蔽触摸屏中断,转换完后再开中断。

     INTMSK=INTMSK | 0x80000000;

       -----AD启动,然后转换------

       INTMSK=INTMSK & 0x7fffffff;
亚瑟王 发表于 2010-3-22 11:20:16 | 显示全部楼层
这样是个解决方法有个缺点哦,就是使用ADC采集时没法使用触摸。不过这个时间很短。
回复

使用道具 举报

苏龙格 发表于 2010-5-20 22:53:51 | 显示全部楼层
看来在TQ2440上用ADC功能不很方便啊!
回复

使用道具 举报

亚瑟王 发表于 2010-5-22 20:11:58 | 显示全部楼层
在S3C2440芯片上的所有ADC都是用相同的寄存器读取值的,只要你把获取ADC值的时间安排好了,就不会和触摸冲突的。这个和TQ2440无关。TQ2440配套的ADC测试程序和触摸一点冲突都没有。
回复

使用道具 举报

lien 发表于 2011-2-21 22:36:37 | 显示全部楼层
金钱不足!!!!
回复

使用道具 举报

月骅 发表于 2012-3-22 20:14:40 | 显示全部楼层
亚瑟王 发表于 2010-5-22 20:11
在S3C2440芯片上的所有ADC都是用相同的寄存器读取值的,只要你把获取ADC值的时间安排好了,就不会和触摸冲突 ...

亚瑟王,我用qtcreator写了个ADC采样画线的程序,但是出了bug,当点击触摸屏的时候,ADC的值就突变为0,停止点击触摸屏,画线又回到了正常,请问这个有什么好方法解决么。
你说把获取的时间安排好,采样画线是要不停进行的,触摸屏点击属于突发事件。这个怎么安排?
回复

使用道具 举报

亚瑟王 发表于 2012-3-26 10:04:50 | 显示全部楼层
月骅 发表于 2012-3-22 20:14
亚瑟王,我用qtcreator写了个ADC采样画线的程序,但是出了bug,当点击触摸屏的时候,ADC的值就突变为0,停 ...

亲,你将ADC驱动做成查询的方式,然后在ADC驱动里面在查询时先将相关寄存器保存设置,使用后再恢复设置。我们做的ADC程序没有发现这样的问题。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号-2 )

GMT+8, 2025-8-6 22:01 , Processed in 2.037872 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表