日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

【嵌入式开发教程6】手把手教你做平板电脑-触摸屏驱动实验教程

發(fā)布時(shí)間:2023/12/20 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【嵌入式开发教程6】手把手教你做平板电脑-触摸屏驱动实验教程 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

觸摸屏驅(qū)動(dòng)實(shí)驗(yàn)教程
——瘋殼·嵌入式平板開發(fā)

第一節(jié) input 輸入子系統(tǒng)簡(jiǎn)單介紹 --- rockchip_gslX680_rk3168.c

觸摸屏驅(qū)動(dòng)注冊(cè)到 input 子系統(tǒng)中后要遵循的框架結(jié)構(gòu)如下:
1.input dev 的注冊(cè),參考 gsl_ts_init_ts()函數(shù);
2.input 事件的注冊(cè),這部分沒有明顯的調(diào)用 input 子系統(tǒng)的 input_register_handler()函數(shù),說明是用的系統(tǒng)缺省注冊(cè)的 handler,即 evdev --- 一個(gè)原始的(raw)輸入設(shè)備事件。


圖1

?

第二節(jié) 電路原理圖介紹

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


圖2

?

第三節(jié) TP 驅(qū)動(dòng)代碼結(jié)構(gòu)

$(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

第四節(jié) .config 文件的配置選擇

kernel 目錄中輸入 make ARCH=arm menuconfig 然后按下列步驟選擇
Device Drivers?? ?--->
Input device support--->?
Touchscreens?? ?--->
<*>?? ?gslX680 touchscreen driver

選擇之后在.config 文件中會(huì)有如下項(xiàng)被設(shè)置:
CONFIG_TOUCHSCREEN_GSLX680=y

相應(yīng)的配置文件目錄位于:
X:\rk3128-study\rk3128-source\kernel\drivers\input\touchscreen\Kconfig
config TOUCHSCREEN_GSLX680

tristate "gslX680 touchscreen driver"?
help
gslX680 touchscreen driver


第五節(jié) 實(shí)驗(yàn)代碼

1.dts part:


代碼1
2.增加一個(gè)可以動(dòng)態(tài)測(cè)試的函數(shù)到驅(qū)動(dòng)中,用戶可以通過 adb shell 或者串口去輸入數(shù)據(jù)完成觸摸屏功能測(cè)試。

?


代碼2
3.測(cè)試命令
命令輸入路徑/sys/class/touchscreen_test?
關(guān)閉觸摸功能:
echo sleep > touchscreen?
echo wake > touchscreen
鏡像觸摸屏坐標(biāo):
echo mirror > touchscreen?
4.代碼調(diào)試中遇到問題
觸摸掛上去后沒有反應(yīng):a.中斷產(chǎn)生了嗎?可以通過在中斷響應(yīng)函數(shù)中增加調(diào)試信 ?息;b.I2c 通信正常嗎?這個(gè)可能要接個(gè)示波器或 usb 邏輯分析儀去看波形是否正常。

?

?

第六節(jié) 實(shí)驗(yàn)步驟 --- 鏡像后的坐標(biāo)如何調(diào)節(jié)

cd?? ?/sys/class/touchscreen_test?
echo mirror > touchscreen

第七節(jié) 實(shí)驗(yàn)現(xiàn)象
點(diǎn)擊位置倒向,需要修改代碼
report_data()中的兩個(gè)地方 --- 自己做實(shí)驗(yàn)了


詳情地址:https://fengke.club/GeekMart/views/offline/android ?
套件地址:https://fengke.club/GeekMart/su_fHnaDyD1o.jsp
視頻地址:https://fengke.club/GeekMart/su_f5W0Cuz3p.jsp?
?

總結(jié)

以上是生活随笔為你收集整理的【嵌入式开发教程6】手把手教你做平板电脑-触摸屏驱动实验教程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。