新聞中心

EEPW首頁 > 光電顯示 > 設計應用 > 基于Linux系統(tǒng)的觸摸屏驅動方案

基于Linux系統(tǒng)的觸摸屏驅動方案

作者: 時間:2012-03-09 來源:網絡 收藏

3.3 中斷處理程序及事件報告

用戶對進行按下、抬起和拖動等操作時,觸發(fā)中斷INT_TS,內核進入到中斷處理函數tc_irq0進行中斷處理。tcirq0中,通過ADC—LOCK鎖機制保證只有一個程序使用ADC的中斷線,通過讀取ADCDAT0和ADCDAT1寄存器,判斷觸摸操作的狀態(tài),觸摸筆按下時調用ts_timer_fireO進行數據轉換。當數據轉換完成時產進INT_ADC中斷,內核進入中斷處理函數adc—irqO,adc_irq()完成觸點信息采集并調用ts_timer_fire()進行事件報告。事件報告流程如圖2所示。

27.jpg27.jpg

ts_timer_fire0是主要完成觸點坐標信息向應用層報告。updown、count為靜態(tài)全局變量,updown觸點狀態(tài),count代表1個jiffies時間內ADC轉換的次數,count為0,設置自動X/Y軸坐標轉換模式,轉換完成后產生相應的INT_ADC中斷通知轉換完畢。count不為0,input_report_abs()函數向輸入子報告X,Y絕對坐標事件,inputreport_key()對應按鍵被按下事件,輸入子使用inputsync()將報告的事件組成一個evdev包,通過/dev/input/eventX發(fā)送出去,應用程序通過讀取/dev/input/eventX即可獲得事件信息。關鍵代碼如下:

4 結論

隨著信息技術的快速發(fā)展,嵌入式技術與人們的生活越來越緊密,作為一種新型輸入設備因具有輕便、占用空間少、方便靈活等優(yōu)點,應用逐漸普及,甚至在工業(yè)領域也得到了大量的應用,提高了我國工控自動化的水平。要充分發(fā)揮觸摸屏的優(yōu)點,嵌入式中設計至關重要。嵌入式輸入子實現觸摸屏時,利用了輸入子系統(tǒng)提供標準事件接口,簡化了驅動設計,驅動設計的重點變成了觸摸屏控制器相關的硬件操作及功能實現,充分體現內核代碼的高可重性,對其他類型輸入設備驅動程序的設計有一定參考作用。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

linux相關文章:linux教程



上一頁 1 2 下一頁

評論


相關推薦

技術專區(qū)

關閉