除錯觸屏的一些積累

2021-06-17 16:30:22 字數 1603 閱讀 2267

原文:

最近在做一些除錯觸屏的工作,經過一段時間的接觸,碰到了一些問題,隨手記下。

電容屏的的驅動,常見的問題是:

1.虛擬按鍵的敏感區域不正確

比如觸碰虛擬按鍵的圖示,按鍵無反應,但是觸碰按鍵圖示的右上角,按鍵的反應卻正常。

2.在觸屏測試時,畫的線不圓滑,有的折線很明顯

觸屏的互動方式有種叫做握手模式,但是需要配合firmware來共同協調,達到很好的效果

3.硬體的問題

敏感區域向右上偏,左下角會有區域無反應

4.在除錯過程中

getevent來檢查是否產生中斷

cat /proc/kmsg來觀察自己設定的trace

除錯的基本過程:

1.sample**和datasheet的獲取。

2.上電。有的是常供電,有的是需要操作一下gpio

3.調中斷。如果在串列埠中能輸出終端資訊,也就成功了一半了。

4.確認i2c位址,vendor提供的位址大多是8為位址,而android裡面使用的是7為的位址。

5.上面的步驟完成後,觸屏就可以正常通訊了,也就是完成了基本的功能,下面的工作就是做一些優化,如firmware的公升級、虛擬按鍵的新增及座標的調整、精確度的調整等等。

6.測試。進行詳細的測試,有問題再根據情況解決。

電阻屏需要注意的是,需要先進行校準,校準之後才能判斷,觸屏的驅動到底好不好使。

電阻屏有彈性,是靠壓力來產生電訊號的,準確度比較高。

軟體平台:android 4.0

問題描述:

今天在除錯電容屏驅動,將android 2.3的驅動**直接移植到4.0中,發現觸控螢幕不能用;

由於硬體已事先在android2.3上驗證過,首先排除了硬體上的問題;觸控螢幕驅動也在2.3平台上能正

常使用,為什麼移植到4.0上就出現問題了呢?

測試步驟:

1、getevent檢視事件發現事件上報正常;

2、加串列埠列印,發現觸控點座標也正常;

難道底層沒問題,而是應用層有問題了?這時突然想起前幾日在4.0平台上移植過電阻屏驅動,為什麼

電阻屏能正常工作而電容屏卻不行了?看來問題還在觸控螢幕驅動裡面。

通過對比兩者驅動**,找到了問題的原因:

原來在電阻屏驅動中,每次上報事件結束時都有報如下兩句:

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

input_report_key( input_dev , btn_touch , 0);    // realse

在電容屏驅動中卻沒有,加上之後電容屏工作正常。

之後在網上搜尋了一下才知道andorid 的 touchscreen 事件必須要有  btn_touch 才可以。

所以初始化的時候加上:

tablet_dev->keybit[bit_word (btn_touch)] = bit_mask (btn_touch);

報事件的時候加上

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

input_report_key( input_dev , btn_touch , 0);    // realse

關於觸屏事件的一些操作

需要在你的viewcontroller裡重寫幾個方法 開始觸控的方法 void touchesbegan nsset touches withevent uievent event 觸控取消的方法 void touchescancelled nsset touches withevent uieve...

關於RGB屏除錯的一些知識

1.關於模式 rgb屏顯示資料輸出是分為兩種模式的,一種是de模式,由de輸出高低電平控制 另一種是sync模式,由hsync與vsync輸出行場同步訊號至rgb屏。該兩種模式由乙個mode腳進行選擇,為0 時選擇sync模式,為1時選擇de模式。通常選擇de模式,相容支援的rgb模組較多。2.關於...

c 的一些積累

combobox 控制項 this.combobox1.tabindex 1 this.combobox1.items.add com0 combobox1.selecteditem.tostring int index combobox1.selectedindex string 字串操作 字串 ...