linux触摸屏驱动
㈠ 嵌入式linux触摸屏失效
我的理解,系统启动的时候,会加载各项外设,
逻辑是,如果你没有键盘,初始化就不成功,触摸屏的驱动没有启动
有键盘,初始化成功,触摸屏驱动加载成功,拔下键盘也可以使用
㈡ 初学linux触摸屏驱动,请求IRQ_ADC和IRQ_TC中断总是返回EBUSY,请问怎么解决啊
是该中断线被占用了,可能是其他设备占用的,把那个地方找到,把中断线释放掉就行了
㈢ “技术干货”工业触摸屏之驱动开发及异常分析(连载)
触摸屏作为嵌入式产品中的常用交互设备,以其直观的交互方式和简易的编程特性受到广泛青睐。本文将从选择合适的触摸屏方案与常见故障解决方法两个方面进行分析。重点内容包括电阻屏的驱动组成及触摸屏的异常分析。
在测试环境中,选用的处理器为AM335x,内核版本为Linux-3.2,硬件条件包括四线电阻屏与五线电阻屏。此环境下,触摸屏的处理流程主要聚焦于响应中断上报事件,此步骤对于电容屏同样有效,因此,定位触摸屏故障时只需关注响应中断上报事件的过程,即可区分是软件故障还是硬件问题。
以AM335x的电阻屏为例,涉及的驱动子系统包括触摸子系统、输入子系统、中断子系统与ADC子系统。触摸子系统负责触摸屏的抽象,输入子系统提供符合上层应用的接口,中断子系统接收外设中断信号,而ADC子系统则负责电场信号的提供与电压值的采集。这些子系统共同构建了触摸屏驱动的框架。
AM335x电阻屏驱动的具体实现路径已明确记录,涉及的代码路径包含板级描述文件、ADC模块驱动以及触摸屏驱动文件。板级文件记录了ADC模组中用于触摸功能的通道配置,ADC模块驱动则对通道进行抽象整理,涉及触摸屏的寄存器操作,触摸屏驱动则整合中断、ADC模组的寄存器操作以及输入事件的上报工作。
在AM335x电阻屏驱动的代码实现中,X轴与Y轴的ADC配置是关键步骤。配置过程遵循四线模式与五线模式的不同,分别对X轴与Y轴的采集进行通用配置,并通过特定的寄存器设置来实现不同模式下的电场形成,如开启XPP、XNN、YPP、YNN等操作。
中断处理函数的注册代码同样包含在触摸屏驱动中,负责处理器完成ADC采集后触发中断,并通过中断处理函数将触摸信号上报给用户层。对于用户层来说,通过查看中断触发次数和中断名参数,可以初步定位触摸问题。
在用户空间层面,触摸屏问题的排查方法已整理并应用于具体案例分析。例如,接上触摸屏后无反应、触摸抖动、触摸不准、触摸异常等问题的解决路径各有侧重。其中,触摸抖动可能由于中断信号输入引脚配置错误或接收不稳定的电平造成;触摸不准的问题则可能与参考电压配置异常相关;触摸异常则可能由五线屏电极分布异常引起,导致电场分布不正常,进而采集数据紊乱。