亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于三星2410slinus的觸摸屏程序設(shè)計(jì)

        2019-03-18 11:52:06寇俊梟王魯云
        卷宗 2019年6期
        關(guān)鍵詞:數(shù)據(jù)結(jié)構(gòu)緩沖區(qū)內(nèi)核

        寇俊梟 王魯云

        摘 要:linus技術(shù)應(yīng)用廣泛,本文以三星2410s為基礎(chǔ),設(shè)計(jì)實(shí)現(xiàn)了觸摸屏程序,具有特性,經(jīng)過(guò)驗(yàn)證,實(shí)現(xiàn)了設(shè)計(jì)功能。

        關(guān)鍵詞:觸摸屏;程序設(shè)計(jì)

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

        1 引言

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

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

        關(guān)鍵代碼:

        1 typedef struct

        2 {

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

        4 TS_RET buf[MAX_TS_BUF]; /*

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

        5 unsigned int head, tail; /*

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

        6 wait_queue_head_t wq; /*等待隊(duì)列*/

        7 spinlock_t lock;//自旋鎖

        8 #ifdef USE_ASYNC

        9 struct fasync_struct *aq;

        10 #endif

        11 struct cdev cdev;

        12 } TS_DEV;//觸摸屏控制器信息的結(jié)構(gòu),供上層使用

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

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

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

        2 總結(jié)

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

        通訊作者

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

        猜你喜歡
        數(shù)據(jù)結(jié)構(gòu)緩沖區(qū)內(nèi)核
        嵌入式系統(tǒng)環(huán)形緩沖區(qū)快速讀寫(xiě)方法的設(shè)計(jì)與實(shí)現(xiàn)
        萬(wàn)物皆可IP的時(shí)代,我們當(dāng)夯實(shí)的IP內(nèi)核是什么?
        群眾路線是百年大黨成功之內(nèi)核性制度因素的外在表達(dá)
        強(qiáng)化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
        Linux內(nèi)核mmap保護(hù)機(jī)制研究
        “翻轉(zhuǎn)課堂”教學(xué)模式的探討——以《數(shù)據(jù)結(jié)構(gòu)》課程教學(xué)為例
        高職高專(zhuān)數(shù)據(jù)結(jié)構(gòu)教學(xué)改革探討
        關(guān)鍵鏈技術(shù)緩沖區(qū)的確定方法研究
        TRIZ理論在“數(shù)據(jù)結(jié)構(gòu)”多媒體教學(xué)中的應(yīng)用
        《數(shù)據(jù)結(jié)構(gòu)》教學(xué)方法創(chuàng)新探討
        河南科技(2014年5期)2014-02-27 14:08:57
        国产精品国产三级国产专播| 成 人免费va视频| 中国内射xxxx6981少妇| 欧美午夜精品久久久久久浪潮| 日韩少妇无码一区二区免费视频| 中文乱码字幕人妻熟女人妻| 一区二区亚洲精品在线| 国产精品无码一区二区三区| 成年无码av片完整版| 99热成人精品国产免| 91精品国产91| 亚洲免费人成网站在线观看| 国产一区二区av在线免费观看| 人人妻人人澡人人爽人人dvd| 亚洲av无码久久精品蜜桃| 97超级碰碰人妻中文字幕| 中文人妻av大区中文不卡| 开心五月激情五月天天五月五月天 | 中文字幕一区二区在线| 国产精品国产三级国产av18| 少妇性bbb搡bbb爽爽爽| 国产成人久久精品77777综合| 国产成人aa在线观看视频| 亚洲中文高清乱码av中文| 国产精品第一二三区久久| 亚洲中文字幕在线第二页| 亚洲妇女水蜜桃av网网站| 加勒比熟女精品一区二区av| 黄色一区二区三区大全观看| 欧美亚洲日本国产综合在线美利坚 | 国产精品日本天堂| 日本av一区二区三区四区| 又硬又粗进去好爽免费| 50岁熟妇大白屁股真爽| 亚洲—本道中文字幕久久66| 三级黄片一区二区三区| 久久伊人最新网址视频| 中出人妻中文字幕无码| 国产精品无码久久久一区蜜臀| 日本伦理美乳中文字幕| 洲色熟女图激情另类图区|