RK2918 Android 移植触摸屏遇到的一些问题

来源:互联网 发布:南方全站仪到数据驱动 编辑:程序博客网 时间:2024/05/29 12:31

移植触摸屏

触摸屏控制芯片:Pixcir Tangoc

问题一:Unable to request IRQ 

解决办法:由于在注册设备信息时 i2c_board_info 中触摸屏的 I2C 设备的 IRQ 号只是 GPIO 的引脚编号,所以在驱动程序中初始化函数在request_IRQ() 之前需先调用 gpio_to_irq() 将 GPIO 号映射为中断号,该函数定义在 mach/gpio.h 文件中。


问题二:驱动已正确加载,开启 input debug 后可以看到有触摸 Event 上报,但是触摸屏依然没有反应

解决办法:Android 要求触摸屏驱动在上报触摸事件时需先上报

input_report_key(input_dev, BTN_TOUCH, 1);//pressed

input_report_key(input_dev, BTN_TOUCH, 0);//released

input_dev 为 触摸设备,BTN_TOUCH1 时表示按下,BTN_TOUCH 0  时表示释放

因为当有触摸发生时,触摸屏会发出一个中断,然后调用中断函数通过 I2C 读取触摸设备的数据,然后上报,所以我将这两个函数调用分别添加到中断函数的首尾。


问题三:触摸屏使用前需校验,但无法打开 USB Debug 功能,需将 USB Debug 功能设置为默认开启

解决办法:找到文件 packages/apps/settings/src/com/android/setings/developmentsettings.java,

 在 class DevelopmentSettings 中,在onCreate 方法中的末尾添加 mEnableAdb.setChecked(true), 然后重新编译即可

原创粉丝点击