<var id="fnfpo"><source id="fnfpo"></source></var>
<rp id="fnfpo"></rp>

<em id="fnfpo"><object id="fnfpo"><input id="fnfpo"></input></object></em>
<em id="fnfpo"><acronym id="fnfpo"></acronym></em>
  • <th id="fnfpo"><track id="fnfpo"></track></th>
  • <progress id="fnfpo"><track id="fnfpo"></track></progress>
  • <tbody id="fnfpo"><pre id="fnfpo"></pre></tbody>

  • 電子工程網

    標題: 【瘋殼·嵌入式教程5】手把手教你做平板電腦-觸摸屏驅動實驗教程 [打印本頁]

    作者: Linda-x    時間: 2022-8-22 17:34
    標題: 【瘋殼·嵌入式教程5】手把手教你做平板電腦-觸摸屏驅動實驗教程
    觸摸屏驅動實驗教程
    ——瘋殼·嵌入式平板開發





    第一節 input 輸入子系統簡單介紹 --- rockchip_gslX680_rk3168.c

    觸摸屏驅動注冊到 input 子系統中后要遵循的框架結構如下:
    1.input dev 的注冊,參考 gsl_ts_init_ts()函數;
    2.input 事件的注冊,這部分沒有明顯的調用 input 子系統的 input_register_handler()函數,說明是用的系統缺省注冊的 handler,即 evdev --- 一個原始的(raw)輸入設備事件。


    圖1

    第二節 電路原理圖介紹

    下圖來源于文檔 3128_sdk_a02_20170325.pdf 中第 19 頁。
    如下圖可以確定 TP 是通過 I2c 與 cpu 相互通信的,cpu 作為主設備,TP 作為從設備。TOUCH_INT 是用中斷的形式用作告訴 cpu 已經有觸摸產生,cpu 可以從 I2c 接口讀數據了。TOUCH_RST 是用作觸摸的休眠/喚醒。


    圖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
    2.增加一個可以動態測試的函數到驅動中,用戶可以通過 adb shell 或者串口去輸入數據完成觸摸屏功能測試。



    代碼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()中的兩個地方 --- 自己做實驗了





    文件下載請點擊: 5、觸摸屏驅動實驗.pdf (446.7 KB)






    歡迎光臨 電子工程網 (http://www.portaltwn.com/) Powered by Discuz! X3.4
    精品一区二区三区自拍图片区_国产成人亚洲精品_亚洲Va欧美va国产综合888_久久亚洲国产精品五月天婷