• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于三星2410slinus的觸摸屏程序設計

      2019-03-18 11:52:06寇俊梟王魯云
      卷宗 2019年6期
      關鍵詞:數據結構緩沖區(qū)內核

      寇俊梟 王魯云

      摘 要:linus技術應用廣泛,本文以三星2410s為基礎,設計實現了觸摸屏程序,具有特性,經過驗證,實現了設計功能。

      關鍵詞:觸摸屏;程序設計

      觸摸屏(touch screen)又稱為“觸控屏”、“觸控面板”,是一種可接收觸頭等輸入訊號的感應式液晶顯示裝置,當接觸了屏幕上的圖形按鈕時,屏幕上的觸覺反饋系統(tǒng)可根據預先編程的程式驅動各種連結裝置,可用以取代機械式的按鈕面板,并借由液晶顯示畫面制造出生動的影音效果。觸摸屏作為一種最新的電腦輸入設備,它是目前最簡單、方便、自然的一種人機交互方式。它賦予了多媒體以嶄新的面貌,是極富吸引力的全新多媒體交互設備。主要應用于公共信息的查詢、領導辦公、工業(yè)控制、軍事指揮、電子游戲、點歌點菜、多媒體教學、房地產預售等。

      1 引言

      隨著IT產業(yè)的不斷發(fā)展,用戶對網站體驗要求也越來越高,而目前主流網站后端承載系統(tǒng)都是Linux系統(tǒng),目前Android手機全部基于Linux內核研發(fā)。企業(yè)大數據、云存儲、虛擬化等先進技術都是基于Linux系統(tǒng)。2010年據有關權威部門統(tǒng)計:將來幾年內我國軟件行業(yè)的從業(yè)機會十分龐大,中國每年對軟件人才的需求將達到50萬人左右。而對于Linux專業(yè)人才的就業(yè)前景,更是廣闊;據悉在未來5-10年內Linux專業(yè)人才的需求將達到120萬+!尤其是有經驗的資深的Linux工程師目前非常的缺乏,薪資也是非常誘人,平均月薪都是15-20K,能力強的薪資更高。

      Linux操作系統(tǒng)通過系統(tǒng)調用和硬件中斷完成從用戶空間到內核空間的控制轉移。設備驅動模塊的功能就是擴展內核的功能,主要完成兩部分任務:一個是系統(tǒng)調用,另一個是處理中斷。圖2是一個設備驅動模塊動態(tài)掛接、卸載和系統(tǒng)調用的全過程。系統(tǒng)調用部分則是對設備的操作過程,比如open,read,write,ioctl等操作,設備驅動程序所提供的這組入口點由幾個結構向系統(tǒng)進行說明,分別是file_operations數據結構、inode數據結構和file 數據結構。內核內部通過file結構識別設備,通過file_operations數據結構提供文件系統(tǒng)的入口點函數,也就是訪問設備驅動的函數,結構中的每一個成員都對應著一個系統(tǒng)調用。在嵌入式系統(tǒng)的開發(fā)中,我們一般僅僅實現其中幾個接口函數:read、write、open、ioctl及release就可以完成應用系統(tǒng)需要的功能。寫驅動程序的任務之一就是完成file_operations中的函數指針。

      關鍵代碼:

      1 typedef struct

      2 {

      3 unsigned int penStatus; /* PEN_UP, PEN_DOWN, PEN_SAMPLE */

      4 TS_RET buf[MAX_TS_BUF]; /*

      緩沖區(qū),存放點擊信息 */

      5 unsigned int head, tail; /*

      緩沖區(qū)頭和尾 */

      6 wait_queue_head_t wq; /*等待隊列*/

      7 spinlock_t lock;//自旋鎖

      8 #ifdef USE_ASYNC

      9 struct fasync_struct *aq;

      10 #endif

      11 struct cdev cdev;

      12 } TS_DEV;//觸摸屏控制器信息的結構,供上層使用

      觸摸屏設備結構體的成員與按鍵設備結構體的成員類似,也包含一個緩沖區(qū),同時包括自旋鎖、等待隊列和fasync_struct指針,如代碼清單12.12所示。

      TS_DEV結構用于記錄觸摸屏">觸摸屏運行的各種狀態(tài),PenStatus包括PEN_UP、PEN_DOWN和PEN_FLEETING。buf[MAX_TS_BUF]是用來存放數據信息的事件隊列,head、tail分別指向事件隊列的頭和尾。程序中的筆事件隊列是一個環(huán)形結構,當有事件加入時,隊列頭加一,當有事件被取走時,隊列尾加一,當頭尾位置指針一致時讀取筆事件的信息,進程會被安排進入睡眠。wq等待隊列,包含一個鎖變量和一個正在睡眠進程鏈表。當有好幾個進程都在等待某件事時,Linux會把這些進程記錄到這個等待隊列。它的作用是當沒有筆觸事件發(fā)生時,阻塞上層的讀操作,直到有筆觸事件發(fā)生。lock使用自旋鎖,自旋鎖是基于共享變量來工作的,函數可以通過給某個變量設置一個特殊值來獲得鎖。而其他需要鎖的函數則會循環(huán)查詢鎖是否可用。MAX_TS_BUF的值為16,即在沒有被讀取之前,系統(tǒng)緩沖區(qū)中最多可以存放16個筆觸數據信息。

      系統(tǒng)實現:ADS7843有多種轉換時序,時序規(guī)定了芯片與設備及CPU間是如何配合工作的。設計中采用16個時鐘周期啟動一次轉換的坐標轉換方式。循環(huán)過程中的每一步都在8個時鐘周期內完成,數據的處理嚴格按照時序進行,坐標的采集與X坐標類似。

      2 總結

      本文以三星公司內核芯片2410s和4線電阻是觸摸屏為硬件基礎。開發(fā)了觸摸屏掛圖版程序。通過軟件的濾波,通告了系統(tǒng)性能,得到了很好的處理結果,有很強的實用性。軟件使用了c語言實現,可以方便的移植到其他操做系統(tǒng)。

      通訊作者

      王魯云(1959-),漢族,遼寧省大連市人,本科,大連理工大學城市學院,電子與自動化學院,教授,研究方向:航運雷達系統(tǒng)。

      猜你喜歡
      數據結構緩沖區(qū)內核
      嵌入式系統(tǒng)環(huán)形緩沖區(qū)快速讀寫方法的設計與實現
      萬物皆可IP的時代,我們當夯實的IP內核是什么?
      現代裝飾(2022年4期)2022-08-31 01:41:24
      群眾路線是百年大黨成功之內核性制度因素的外在表達
      當代陜西(2021年12期)2021-08-05 07:45:46
      強化『高新』內核 打造農業(yè)『硅谷』
      Linux內核mmap保護機制研究
      “翻轉課堂”教學模式的探討——以《數據結構》課程教學為例
      高職高專數據結構教學改革探討
      中國市場(2016年45期)2016-05-17 05:15:48
      關鍵鏈技術緩沖區(qū)的確定方法研究
      TRIZ理論在“數據結構”多媒體教學中的應用
      《數據結構》教學方法創(chuàng)新探討
      河南科技(2014年5期)2014-02-27 14:08:57
      咸阳市| 瓮安县| 闽清县| 通辽市| 台东县| 营口市| 大庆市| 舟山市| 从化市| 诸城市| 驻马店市| 京山县| 康马县| 余庆县| 泸定县| 舟曲县| 买车| 云龙县| 隆安县| 蕉岭县| 滨州市| 扶余县| 千阳县| 明水县| 罗城| 南川市| 余江县| 芮城县| 镇雄县| 汶上县| 青岛市| 北安市| 江口县| 澎湖县| 宁城县| 日土县| 枞阳县| 若尔盖县| 望江县| 云和县| 钟祥市|