查看: 969|回复: 0

【疯壳·嵌入式平板电脑开发教程5】触摸屏驱动实验

[复制链接]
  • TA的每日心情
    开心
    2022-4-17 15:37
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2022-8-25 10:24:42 | 显示全部楼层 |阅读模式
    分享到:
    触摸屏驱动实验教程
    ——疯壳·嵌入式平板开发





    第一节 input 输入子系统简单介绍 --- rockchip_gslX680_rk3168.c

    触摸屏驱动注册到 input 子系统中后要遵循的框架结构如下:
    1.input dev 的注册,参考 gsl_ts_init_ts()函数;
    2.input 事件的注册,这部分没有明显的调用 input 子系统的 input_register_handler()函数,说明是用的系统缺省注册的 handler,即 evdev --- 一个原始的(raw)输入设备事件。

    1.png
    图1

    第二节 电路原理图介绍

    下图来源于文档 3128_sdk_a02_20170325.pdf 中第 19 页。
    如下图可以确定 TP 是通过 I2c 与 cpu 相互通信的,cpu 作为主设备,TP 作为从设备。TOUCH_INT 是用中断的形式用作告诉 cpu 已经有触摸产生,cpu 可以从 I2c 接口读数据了。TOUCH_RST 是用作触摸的休眠/唤醒。

    2.png
    图2

    第三节 TP 驱动代码结构

    $(dir)\rk3128-source\kernel\drivers\input\touchscreen\rockchip_gslX680_rk3128.c
    --- input device driver
    $(dir)\rk3128-source\kernel\drivers\input\evdev.c
    --- input event handler

    第四节 .config 文件的配置选择

    kernel 目录中输入 make ARCH=arm menuconfig 然后按下列步骤选择
    Device Drivers        --->
    Input device support--->
    Touchscreens        --->
    <*>        gslX680 touchscreen driver

    选择之后在.config 文件中会有如下项被设置:
    CONFIG_TOUCHSCREEN_GSLX680=y

    相应的配置文件目录位于:
    X:\rk3128-study\rk3128-source\kernel\drivers\input\touchscreen\Kconfig
    config TOUCHSCREEN_GSLX680

    tristate "gslX680 touchscreen driver"
    help
    gslX680 touchscreen driver


    第五节 实验代码

    1.dts part:

    代码1.png
    代码1
    2.增加一个可以动态测试的函数到驱动中,用户可以通过 adb shell 或者串口去输入数据完成触摸屏功能测试。


    代码2.0.png
    代码2.1.png
    代码2
    3.测试命令
    命令输入路径/sys/class/touchscreen_test
    关闭触摸功能:
    echo sleep > touchscreen
    echo wake > touchscreen
    镜像触摸屏坐标:
    echo mirror > touchscreen
    4.代码调试中遇到问题
    触摸挂上去后没有反应:a.中断产生了吗?可以通过在中断响应函数中增加调试信  息;b.I2c 通信正常吗?这个可能要接个示波器或 usb 逻辑分析仪去看波形是否正常。

    第六节 实验步骤 --- 镜像后的坐标如何调节

    cd        /sys/class/touchscreen_test
    echo mirror > touchscreen

    第七节 实验现象
    点击位置倒向,需要修改代码
    report_data()中的两个地方 --- 自己做实验了




    详情地址:https://fengke.club/GeekMart/views/offline/android  
    套件地址:https://fengke.club/GeekMart/su_fHnaDyD1o.jsp
    视频地址:https://fengke.club/GeekMart/su_f5W0Cuz3p.jsp

    如需定制开发,请通过官网“疯壳”网页底部的“联系我们”进行联系

    文件下载请点击: 5、触摸屏驱动实验.pdf (446.7 KB, 下载次数: 0)
    回复

    使用道具 举报

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

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-5-3 10:44 , Processed in 0.138793 second(s), 19 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.