99爱免费_精品一区二区无码AV_欧美屁股xxxxx_日批视频国产_AV天堂亚洲区无码先锋影音_特黄A又粗又大又黄又爽A片

產品推薦:水表|流量計|壓力變送器|熱電偶|液位計|冷熱沖擊試驗箱|水質分析|光譜儀|試驗機|試驗箱


儀表網>技術中心>使用指南>正文

歡迎聯系我

有什么可以幫您? 在線咨詢

嵌入式Linux系統中觸摸屏驅動的研究

   2012年05月22日 16:48  
  引言
  
  隨著計算機相關技術的發展,嵌入式系統的應用越來越廣泛,與人們生活緊密結合。觸摸屏設備因其友善的人機交互性,操作方便靈活,輸入速度快,被廣泛的應用于嵌入式領域中。嵌入式Linux系統具有開發源代碼、內核穩定、可裁減性等特點,吸引著眾多商業公司和自由軟件的目光,成為嵌入式系統領域*的操作系統之一。觸摸屏是一種輸入設備,操作簡單易學,不占額外的空間,可靠性高,是zui常用的便攜式系統的輸入設備。特別是電阻式觸摸屏結構簡單,成本低,透光效果好,工作環境和外界*隔離,不怕灰塵和水氣,同時具有高解析度,高速傳輸反應,一次校正,穩定性高,不漂移等特點,因而廣泛用于工業控制領域及在室內使用。
  
  1、硬件平臺
  
  S3C2410是Samsung公司基于ARM920T核心的一款MCU,集成了眾多的外圍設備,其中包括4線電阻式觸摸屏控制器、8路模擬輸入通道。在8路A/D轉換通道中,A[5]和A[7]作為觸摸屏的X、Y坐標的采集通道。S3C2410與4線電阻式觸摸屏連接的電路原理圖見圖1。
  
  在采樣過程中,只需要通過讀寫一系列的特殊寄存器,S3C2410的觸摸屏控制器就會自動控制觸摸屏接口打開或關閉各MOS管,按順序完成觸摸屏X、Y坐標數據的采集。
  
  圖1S3C2410連接4線電阻式觸摸屏電路原理圖
  
  2、Linux設備驅動程序簡介
  
  設備驅動程序是操作系統內核和機器硬件之間的接口,由一組函數和一些私有數據組成,是應用程序和硬件設備之間的橋梁。在應用程序看來,硬件設備只是一個設備文件,應用程序可以像操作普通文件一樣對硬件設備進行操作。設備驅動程序是內核的一部分,主要完成以下功能:對設備的初始化和釋放;把數據從內核傳送到硬件設備和從硬件設備讀取數據;讀取應用程序數據傳送給設備文件和回送應用程序請求的數據;檢測和處理硬件設備出現的錯誤。
  
  Linux操作系統的設備有字符設備、塊設備和網絡設備等。字符設備是以單個字節為單位進行順序讀寫操作,通常不使用緩存技術,例如鼠標、鍵盤等。塊設備的讀寫都使用緩存技術來支持,并且必須能夠進行隨機存取,主要是針對磁盤等慢速設備設計的。網絡設備主要基于BSD的Socket機制,為發送數據和接收數據提供緩存技術,提供對多協議的支持,例如以太網卡等。
  
  3、Linux觸摸屏驅動程序實現
  
  在Linux系統中,設備驅動程序是一組相關函數的集合。它包括設備服務子程序和中斷處理程序。設備服務子程序包含了所有與設備相關的代碼,每個設備服務子程序只處理一種設備或者緊密相關的設備,從設備無關的軟件中接受抽象的命令并執行。當執行一條請求時,具體操作是根據控制器對驅動程序提供的接口,并利用中斷機制去調用中斷服務子程序配合設備完成這個請求。設備驅動程序利用結構file_operations與文件系統起來,設備的各種操作的入口函數放在結構file_operations中,其中包括open()、release()、read()和write()等接口,簡化了驅動程序的編寫工作。這樣,應用程序根本不必考慮操作的是設備還是普通文件,可一律看作文件處理,具有非常清晰統一的I/O接口。觸摸屏的file_operations結構定義如下:
  
  staticstructfile_operationss3c2410_ts_fops={
  
  owner:THIS_MODULE,
  
  read:s3c2410_ts_read,
  
  poll:s3c2410_ts_poll,
  
  ioctl:s3c2410_ts_ioctl,
  
  open:s3c2410_ts_open,
  
  release:s3c2410_ts_release,
  
  fasync:s3c2410_ts_fasync,};
  
  在觸摸屏設備驅動程序的開發中,全局變量structs3c2410_ts_deviceglobal_ts是很重要的,用來保存觸摸屏的相關參數、等待處理的消息隊列、當前采樣數據、上一次采樣數據等信息,數據結構structs3c2410_ts_device的定義如下:
  
  structs3c2410_ts_device{//管理觸摸屏類
  
  structs3c2410_ts_generald;//觸摸屏設置參數
  
  structs3c2410_ts_calibrationcal;//校正觸摸屏參數
  
  structs3c2410_ts_eventbuf[MOUSEBUF_SIZE];//等待處理緩沖隊列
  
  structs3c2410_ts_eventcur_data,samples[3],last_data;};
  
  //當前采樣數據,采樣原始數據,上次采樣數據
  
  在了解上面概念之后,編寫觸摸屏驅動的實際工作并不復雜,需要做如下工作:
  
  3.1模塊初始化函數
  
  是調用s3c2410_touchscreen_moudle_init()來實現的,主要完成觸摸屏設備的內核模塊加載、初始化、中斷注冊、設備注冊等工作,主要涉及到的過程如下:
  
  ADCTSC=(0<<8)|(1<<7)|(1<<6)|(0<<5)|(1<<4)|(0<<3)|(0<<2)|(3);
  
  //觸摸屏ADCTSC的設置
  
  ADCDLY=ADC_DELAY_TIME;//觸摸屏開始和間隔延時
  
  ADCCON=(1<<14)|(PreScale_n<<6)|(7<<3)|(0<<2)|(0<<1)|(0);
  
  //觸摸屏控制器設置
  
  request_irq(IRQ_ADC_DONE,ts_down_interrupt,SA_INTERRUPT,g_ts_id,ts_down_interrupt);//申請IRQ_ADC_DONE中斷
  
  request_irq(IRQ_TC,ts_up_interrupt,SA_INTERRUPT,g_ts_id,ts_up_interrupt);
  
  //申請IRQ_TC中斷
  
  devfs_register_chrdev(0,S3C2410_TS_MODULE_NAME,&s3c2410_ts_fops);
  
  //注冊file_operations結構
  
  request_irq(IRQ_TIMER1,touch_timer_irq,SA_INTERRUPT,g_ts_timer_id,NULL);//申請IRQ_TIMER1中斷
  
  touch_timer_irq(intirq,void*dev_id,structpt_regs*regs)
  
  //根據狀態調用觸摸中斷,控制數據采樣
  
  初始化模塊利用內核提供的request_irq函數,將觸摸筆的按下與彈起的中斷號進行登記,從而將中斷號與中斷服務函數起來;利用devfs_register_chrdev函數,向系統注冊一個字符型設備;zui后注冊定時器中斷,用來控制觸摸屏的數據采樣。
  
  3.2設置觸摸筆的狀態及對應的處理
  
  觸摸屏的中斷服務函數ts_down_interrupt和ts_up_interrupt是根據ADCDAT1和ADCDAT0的設置來選擇觸摸筆的狀態,之后調用觸摸屏坐標的數據采樣處理函數s3c2410_ts_handler()進行處理。部分代碼如下:
  
  staticvoidts_down_interrupt(intirq,void*dev_id,structpt_regs*regs)
  
  {
  
  if((ADCDAT1&0x8000)||(ADCDAT0&0x8000)){
  
  pen_data.state=PEN_UP;
  
  }
  
  else{
  
  pen_data.state=PEN_DOWN;
  
  }
  
  s3c2410_ts_handler();}
  
  3.3獲得采樣值
  
  觸摸筆具有三種工作狀態:PEN_UP,PEN_DOWN,PEN_SAMPLE。在采樣處理函數中,依據觸摸筆的狀態,調用ts_timer_operation()來啟動或停止采樣定時器,然后調用s3c2410_ts_handler()根據不同的狀態進行不同的設置和處理,之后得到不同的采樣值。
  
  3.4對得到的觸摸屏的數據進行處理
  
  是調用data_processing()函數來實現的。根據采用下面介紹的中值濾波法來對采樣數據進行處理。針對坐標點采樣過程中產生的噪聲,一般是采用平均法來去除噪聲,但是這種方法對于采樣數較少,并且個別噪聲采樣點比較大的時候,取平均值會使zui后的結果誤差較大,達不到數據處理的要求。故本文采用中值濾波法濾除干擾噪聲,進一步地提高采樣精度。
  
  中值濾波法的原理如下:首先取奇數個觸摸采樣數據;之后根據采樣數據的大小按照從小到大的順序進行排列;zui后取中間位置的值。此種方法一般在采樣點不多,個別采樣數據誤差又較大的情況下,可以有效地減少誤差。具體的過程見圖2。

  
  3.5觸摸屏的校準
  
  在實際的應用中,通常觸摸屏是作為與顯示屏配合使用的輸入設備,需要從觸摸屏采樣得到的坐標與屏幕的顯示坐標做一個映射。觸摸屏和顯示屏都是標準的矩形,見3所示。觸摸屏的X方向坐標只與顯示屏的X方向有關,Y方向只與顯示屏的Y方向相關。
  
  假設顯示屏的分辨率是W×H,顯示區域的左上角對應的觸摸屏采樣坐標是(x1,y1),右下角對應的坐標是(x2,y2),那么觸摸屏上的任意一點采用坐標(x,y)與顯示屏坐標(xd,yd)的對應關系可按照如下公式計算:
  
  根據上述的公式計算出實際觸摸屏對應的顯示坐標,之后就是一個觸摸屏的校準過程,本文采用三點校準的方法,與兩點校準相比,三點校準的模型考慮到變相和旋轉,更接近實際情況。首先選取3個相距較遠的3個作為校準輸入的采樣點,它們相應的觸摸屏采樣坐標是P0(x0,y0)、P1(x1,y1)、P2(x2,y2),顯示坐標是PD0(xD0,yD0)、PD1(xD1,yD1)、PD2(xD2,yD2)。直角坐標平面的兩個點P和PD,定義P為觸摸屏空間的坐標點,PD為顯示屏空間的坐標點,P可以經過旋轉、比例和平移得到PD坐標。化簡得:
  
  通過上式可以說明PD和P點之間存在一次線性關系滿足:xD=Ax+By+CyD=Dx+Ey+F
  
  對于同一個設備,其中的A、B、C、D、E、F為常數,稱為校準常數,故只需在觸摸屏校準時,解出這6個常數,就可以實現觸摸屏空間到顯示空間的轉換。
  
  3.6中斷的釋放和注冊模塊的卸載
  
  是調用s3c2410_ts_cleanup_module()來實現的,分別釋放在初始化過程中,申請的IRQ_TIMER1、IRQ_ADC_DONE、IRQ_TC的中斷和字符設備的接口函數devfs_register_chrdev(),具體如下:
  
  free_irq(IRQ_TIMER1,g_ts_id);
  
  free_irq(IRQ_ADC_DONE,g_ts_id);
  
  free_irq(IRQ_TC,g_ts_timer_id);
  
  devfs_unregister_chrdev(gMajor,H3600_TS_MODULE_NAME);//卸載字符設備
  
  4、結束語
  
  本文作者創新點:結合實際的硬件平臺,詳細地介紹基于嵌入式Linux操作系統下觸摸屏驅動程序的開發過程,改進了處理采樣數據的方法,zui后改進了常用的校準方法。使該觸摸屏驅動更能滿足實際的要求,該觸摸屏驅動程序已用于實際的嵌入式產品中,運行穩定可靠,具有很好的發展前景和社會經濟效益。

免責聲明

  • 凡本網注明“來源:儀表網”的所有作品,均為浙江興旺寶明通網絡有限公司-儀表網合法擁有版權或有權使用的作品,未經本網授權不得轉載、摘編或利用其它方式使用上述作品。已經本網授權使用作品的,應在授權范圍內使用,并注明“來源:儀表網”。違反上述聲明者,本網將追究其相關法律責任。
  • 本網轉載并注明自其它來源(非儀表網)的作品,目的在于傳遞更多信息,并不代表本網贊同其觀點或和對其真實性負責,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網站或個人從本網轉載時,必須保留本網注明的作品第一來源,并自負版權等法律責任。
  • 如涉及作品內容、版權等問題,請在作品發表之日起一周內與本網聯系,否則視為放棄相關權利。
聯系我們

客服熱線: 15024464426

加盟熱線: 15024464426

媒體合作: 0571-87759945

投訴熱線: 0571-87759942

關注我們
  • 下載儀表站APP

  • Ybzhan手機版

  • Ybzhan公眾號

  • Ybzhan小程序

企業未開通此功能
詳詢客服 : 0571-87759942
主站蜘蛛池模板: 国产成人毛片在线视频软件|日韩欧美一区二区三区不卡在线|中文亚洲字幕|91=av在线影院|涩涩视频在线看|欧美日韩在线观看二区视频 | 日本午夜精品|亚洲艹逼视频|国产高清好大好爽受不了了|蜜臀=avwww|天天操人人看|高清国产下药迷倒白嫩美女99 | 午夜国产在线|国产人妻无码一区二区三区婷婷|中文字幕免费在线看|2021国产麻豆剧传媒精品入口|日日射夜夜|免费久久99精品国产 | 天天干在线播放|成人国内精品视频在线观看|最近2019年中文字幕大全|亚洲一区免费在线观看|久久青青草原亚洲=aV无码麻豆|三区四区 | 国产一级=a特黄大片做受在线|亚洲精品屋V一区二区|亚洲午夜|亚洲综合爱爱|日本美女日b视频|日本国产=a | 国产伦精品一区二区三区免费|天天躁日日躁狼狼超碰97|综合亚洲视频|欧美性生交XXXXX无码小说|成年人免费网站在线观看|96国产精品 | 性情中人中文网|欧美老熟妇XB水多毛多|欧美波霸影院|炼气练了三千年第四季在线观看|免费一区二区三区在在线视频|艾草在线精品视频免费观看 | 香蕉成人=av|九九视频这里有精品|美女黄频|99热播精品|日本亚洲欧美|免费=av高清 | 免费=av网址在线|97综合视频|色视频一区二区三区|色天堂视频|欧美美女一级视频|XXX少妇厨房XXX乱 | 日韩网站中文字幕|国产精品入口在线观看|少妇高潮喷水久久久影院|丰满爆乳无码一区二区三区|一区二区日本在线|婷婷777 | 在线播放成人网站|国产真实younv在线|久久久久国色=av免费看|国产第一页线路1|国产高清免费=av在线|国产一区二区成人h动漫精品 | 亚洲人成网站在e线播放|亚洲=aV一二三又爽又色又色|久久三级无码网站|国产黄色91|日本猛少妇|91视频在 | 国产精品国产三级欧美二区|四虎影视在线免费观看|日日躁夜夜躁狠狠躁夜夜躁|日本高清中文字幕一区二区三区=a|日韩精品在在线一区二区中文|久久精品一区二区三区黑人印度 | 国产成人精品777|久久久久国内精品|国产乱妇无乱码大黄=a=a片|久久字幕网|一区二区三区无码高清视频|在线视频综合 | 亚洲精品第一页|边吃吃奶边扎下面很紧爽|porno麻豆|五月天婷五月天综合网|国产精品理论在线无码|国产资源网站 | 亚州性色|国产的欧美一区二区三区|中国毛片视频|久久艹在线|国产在线www|久久久精品日韩免费观看 | 久草在线|粉嫩=av一区二区在线播放免费|丁香五月天综合缴情网|激情五月俺也去狠狠爱|天天做夜夜爱|欧美专区亚洲 | 天天干少妇|中文字幕在线亚洲日韩6页|v片免费在线观看|国产人妻人伦=aV|日本老妇和子乱视频在线观看|少妇又色又紧又爽又高潮 | 婷婷久久综合九色综合97最多收藏|国产一级毛片久久|91精品二区|思思99精品视频在线观看|国产福利第一视频在线播放|人人澡超碰碰 | 久久污视频|无码人妻精品中文字幕免费时间|日产无码精品一区二区三区|四虎最新免费网站|亚洲大尺度吃奶做爰|chinese叫床videos | 神马国产精品|国产丝袜91久久久久久久久久久|亚洲人成在线播放网站|国产8区|四虎永久在线精品免费网址|近伦毛片中文字幕免费的 | 国产=a级一区二区|免费观看=av福利片|欧美一二三区精品|一本到无码=aV专区无码|好爽...又高潮了毛片|精品人人搡人妻人人玩=a片 | 麻豆精品蜜桃|黄网wwwccc|色自拍偷拍|久久亚洲精品无码网站|国产成人免费视频在线网站2|久久久老熟女一区二区三区91 | 强奷乱码欧妇女中文字幕熟女|中国女人FREE性HD|国产精品一码二码三码在线|少妇性l交大片免费快色|久热=av在线|黑人巨大人精品欧美三区 | 精品人妻中文字幕无码蜜桃臀|高清视频播放在线观看|色综合久久中文综合网|国产精品视频在线观看|美女爽到呻吟久久久久|亚洲国内精品 | 精品日本一区二区三区在线观看|日日操夜夜摸|国产成人无码网站m3u8|欧美性猛交xx|亚洲自拍偷拍一区二区|国产免费无码成人=a片在线观看 | 免费无码又爽又刺激高潮的动漫|欧美日日日|亚洲=aV无码一区二区三区在线播放|国产九九=av|中文字幕无码视频专区|中文字幕一区二区三区手机版 | 啄木乌欧美一区二区三区高压监狱|久久综合狠狠|日本亚欧乱色视频在线观看|亚洲=av毛片久久久久|国产亚洲精品二区|波多野结衣免费观看视频 | 亚洲国产精品99|曰本女人牲交视频免费|国产成人8x人网站在线视频|精品无码一区在线观看|毛片一区|jk自慰到不停喷水 | 99中文视频|成人手机在线免费观看|久久成人精品|日韩72页|秋霞麻豆|999视频网站 | 国产一级做=a爱片久久毛片=a|www.欧美视频|亚洲自国产拍揄拍|龙珠超二在线观看免费国语高清|羞羞答答=av成人免费看|99日精品视频 | 亚洲精品久久久久久蜜臀|老熟妇性老熟妇性色|黄色一级片片|国产二区一区|极品少妇xxxxx|日日摸夜夜爽无码毛片精选 | 亚洲黄色成人=av|免费的国产视频|成人免费视频国产免费麻豆|67194久久|激情=av网站|国产精品一区二区=aV蜜芽 | 岛国午夜视频一区三区|欧美成人免费一级|加勒比中文字幕无码一区|亚洲中文字幕在线乱码|草久=av|国产区一区 | 国产精品网红尤物福利在线观看|欧美经典一区二区|辽宁老熟女高潮狂叫视频|日日草日日干|成人免费观看毛片|久久激情免费视频 | 美女黄视频网站|热热色影音先锋|国产精品久久久久久久久久ktv|最近免费中文字幕MV在线视频3|日本在线无|夜夜爽久久揉揉一区 | 爱操=av|亚洲欧美人成视频一区在线|女同性爽爽爽免费观看|久久久久亚洲国产精品|熟女精品视频一区二区三区|极品新婚夜少妇真紧 | 毛片大全|日本色频|亚洲色图偷拍自拍|在线观看片=a免费观看岛国|在线中文字幕-区二区三区四区|日韩欧美色图 | 日本xxx大片免费观看|久色在线三级三级三级免费看|视频一区在线播放|国产=a∨国片精品白丝美女视频|天美传媒=aV成人片免费看|成人天堂yy6080亚洲高清 | 久久精品九九热无码免贵|日本=aⅴ精品一区二区三区|亚洲国产精品一区二区成人片|国产精品91久久|久草=av在线播放|亚洲在线www | 69xxxx国产|一级一片|久久久久97|亚洲日本v=a午夜中文字幕|狠狠干伊人网|国产人妻精品区一区二区三区 |