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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Android >内容正文

Android

MTK6577+Android之TP(触摸屏)

發(fā)布時間:2023/12/16 Android 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MTK6577+Android之TP(触摸屏) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.?????硬件設(shè)計


圖1

CPU GPIO和msg2133連接引腳對應(yīng)關(guān)系如下:

?

CPU GPIO引腳

Msg2133引腳

GPIO_CTP_PWR_EN(GPIO83)

AVDD(2.8)

SCL_0(GPIO87)

SCL

SDA_0(GPIO88)

SDA

KP_ROW6(GPIO110)

RST

EINT6(GPIO75)

INT

?

根據(jù)msg2133的數(shù)據(jù)手冊,并沒有RST引腳,只有CHIP_EN引腳,這里應(yīng)該是原理圖搞錯了,msg2133有電容式觸摸傳感器接口(capacitive touch sensor interface)、主機接口(host interface)、GPIO接口和電源引腳,下面給出后三種接口的圖:


圖2

?

?

2.?????TP驅(qū)動實現(xiàn)

2.1???修改ProjectConfig.mk

修改mediatek\config\prj\ProjectConfig.mk下的CUSTOM_KERNEL_TOUCHPANEL

其值由GT818B改為msg2133


?

2.2???增加ms2133驅(qū)動文件夾

根據(jù)TP廠家提供的驅(qū)動,我們在\mediatek\custom\common\kernel\touchpanel增加msg2133觸摸屏驅(qū)動文件夾msg2133,并做下面一些簡單修改正常使用。

?

(1)??Msg2133接口的初始化

1)?????CHIP_EN片選使能引腳

[cpp]?view plaincopy
  • mt_set_gpio_mode(GPIO_CTP_MSG2133_EN_PIN,GPIO_CTP_MSG2133_EN_PIN_M_GPIO);??
  • mt_set_gpio_dir(GPIO_CTP_MSG2133_EN_PIN,GPIO_DIR_OUT);??
  • mt_set_gpio_out(GPIO_CTP_MSG2133_EN_PIN,GPIO_OUT_ONE);</span>??
  • msg2133芯片使能引腳配置為GPIO模式、輸出高電平使能。

    ?

    2)?????INT中斷引腳

    [cpp]?view plaincopy
  • mt_set_gpio_mode(GPIO_CTP_MSG2133_EINT_PIN,GPIO_CTP_MSG2133_EINT_PIN_M_EINT);??
  • mt_set_gpio_dir(GPIO_CTP_MSG2133_EINT_PIN,GPIO_DIR_IN);??
  • mt_set_gpio_pull_enable(GPIO_CTP_MSG2133_EINT_PIN,GPIO_PULL_ENABLE);??
  • mt_set_gpio_pull_select(GPIO_CTP_MSG2133_EINT_PIN,GPIO_PULL_UP);</span>??

  • 配置為中斷模式、輸入、使能上下拉功能和設(shè)置為上拉。

    ?

    (2)??IIC地址

    Msg2133的iic讀寫地址,我從數(shù)據(jù)手冊上沒有找到是如何確定這兩個地址的,驅(qū)動廠家在驅(qū)動代碼中提供,如果想要具體是怎么確定的,可咨詢廠家。

    [cpp]?view plaincopy
  • #defineFW_ADDR_MSG21XX???(0xC4>>1)??
  • #defineFW_ADDR_MSG21XX_TP??(0x4C>>1)//write,0x26??
  • #defineFW_UPDATE_ADDR_MSG21XX??(0x92>>1)//read,0x49</span>??
  • (3)??增加TP的虛擬按鍵(virtual key)


    圖3

    ?

    要在TP上增加虛擬按鍵,需要在tp對應(yīng)的頭文件添加下面的設(shè)置:

    1)?????定義TPD_HAVE_BUTTON

    2)?????定義TPD_BUTTON_HEIGHT、TPD_KEY_COUNT、TPD_KEYS和TPD_KEYS_DIM,分別用于定義button被識別的縱向坐標、虛擬按鍵個數(shù)、對應(yīng)的功能鍵和每個功能鍵的坐標

    [cpp]?view plaincopy
  • #defineTPD_HAVE_BUTTON??
  • ???
  • #defineTPD_BUTTON_HEIGHT??????800??
  • #defineTPD_KEY_COUNT?????4??
  • #defineTPD_KEYS????????{?KEY_BACK,?KEY_SEARCH,KEY_MENU,?KEY_HOMEPAGE?}??
  • #define?TPD_KEYS_DIM????????????{{200,900,10,10},{260,900,10,10},{40,900,10,10},{120,900,10,10}}</span>??

  • 其中,{200,900,10,10}對應(yīng)了KEY_BACK的坐標, (200,900)是該key center的坐標,10是該鍵的寬度,10是該鍵的高度。

    ?

    3)?????根據(jù)顯示屏分辨率修改相關(guān)的宏定義

    [cpp]?view plaincopy
  • #defineTPD_RES_X????????????????480??//?(320)??
  • #defineTPD_RES_Y????????????????800??//(480)</span>??

  • 把常用的實體按鍵(導(dǎo)航按鍵)映射到觸屏區(qū)域的快捷方式,不強制要求一定要有物理按鍵來支持用戶操作,這對開發(fā)全觸摸屏的產(chǎn)品非常有利。

    ?


    2.3???TP驅(qū)動具體的源代碼后面深入學(xué)習(xí)在分享

    ?

    ?

    參考鏈接:

    mtk的android平臺觸摸坐標調(diào)整觸摸坐標旋轉(zhuǎn)

    http://blog.sina.com.cn/s/blog_539238aa0101ed1f.html

    Mstar虛擬按鍵觸摸屏驅(qū)動(芯片msg2133,按鍵使用android虛擬按鍵實現(xiàn),特定報點,識別為按鍵)

    http://blog.csdn.net/duanlove/article/details/8098418

    總結(jié)

    以上是生活随笔為你收集整理的MTK6577+Android之TP(触摸屏)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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