新聞中心

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

        基于Linux系統的觸摸屏驅動方案

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

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

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

        27.jpg27.jpg

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

        4 結論

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

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

        linux相關文章:linux教程



        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 德清县| 江达县| 仙居县| 银川市| 汝州市| 疏勒县| 哈尔滨市| 香格里拉县| 饶阳县| 邵阳县| 思茅市| 宝山区| 通州市| 桓台县| 嵊州市| 锦州市| 客服| 达日县| 手游| 壤塘县| 南郑县| 八宿县| 上高县| 峨边| 五华县| 通化市| 浦北县| 莒南县| 平顺县| 泸州市| 河间市| 社旗县| 榆中县| 安丘市| 福泉市| 贡山| 武强县| 西丰县| 新野县| 和平县| 临潭县|