色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁(yè) > 光電顯示 > 設(shè)計(jì)應(yīng)用 > 基于Linux系統(tǒng)的觸摸屏驅(qū)動(dòng)方案

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

          作者: 時(shí)間:2012-03-09 來(lái)源:網(wǎng)絡(luò) 收藏

          3.3 中斷處理程序及事件報(bào)告

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

          27.jpg27.jpg

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

          4 結(jié)論

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

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

          linux相關(guān)文章:linux教程



          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉