/* 模組初始化 */
static int __init s3c2410ts_init(void)
獲得adc時鐘,並使能;對adc暫存器位址對映到記憶體;
配置暫存器;gpio口: xm,xp,ym,yp, adc有關的暫存器;
申請input裝置;
設定可支援的事件為同步、按鍵、絕對座標事件;設定按鍵時間型別為觸控螢幕;有關的數值範圍;
設定裝置的身份資訊;
申請觸控螢幕中斷irq_tc,adc轉換完成中斷irq_adc;
註冊裝置;
/* 觸控螢幕中斷函式*/
static irqreturn_t stylus_updown(int irq, void *dev_id)
ownadc = 1;彈起中斷讀取adcdat0和adcdat1暫存器,判斷是按下中斷還是彈起中斷;
按下中斷
touch_timer_fire(0);
ownadc = 0;
/* 定時器函式可以由定時器中斷觸發,也可以由觸控螢幕中斷函式觸發*/
static void touch_timer_fire(unsigned long data)
/* adc中斷函式 */
static irqreturn_t stylus_action(int irq, void *dev_id)
ownadc = 1}讀取轉換後x,y值;
設定時間定時器的定時值;到時 touch_timer_fire 被呼叫; // 因為這個定時器,可以畫出軌跡
重新設定觸控螢幕為等待彈起訊號;
/* 模組解除安裝 */
static void __exit s3c2410ts_exit(void)
{
釋放中斷資源;釋放時鐘;
解除安裝input裝置;
釋放記憶體;
觸控螢幕驅動分析
觸控螢幕的主要分為四種,分別是電阻式,電容感應式,紅外線式以及表面聲波式。我們現在我們主要談論是電阻式觸控螢幕。看下圖可以大概了解電阻式觸控螢幕。電阻式觸控螢幕的屏體部分是一塊與顯示器表面相匹配的多層復合薄膜,由一層玻璃或有機玻璃作為基層,表面塗有一層透明 的導電層,上面再蓋有一層外表面的硬化處理,...
觸控螢幕驅動
輸入子系統體系 核心層 linux dir drivers input input.c 提供最核心函式 裝置事件層 linux dir drivers input evdev.c 提供handler 提供輸入裝置產生的原始資料並上報給應用程式,這適用於 所有輸入裝置,該觸控螢幕也不例外 編寫基於輸入...
QT 觸控螢幕 驅動
要 本文主要介紹了在嵌入式 linux 系統下基於 qt embeded 的觸控螢幕驅動的設計,通過對 linux 裝置 驅動和qt embedded裝置驅動介面的工作原理和機制介紹,並結合大量源 進行分析,提出了基於qt embeded 的觸控螢幕驅動的開發方案。linux 下的裝置驅動基礎 li...