亚洲免费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
        日本阿v网站在线观看中文| 中文字幕精品一区二区的区别| 久久久国产精品| 天天躁日日躁狠狠很躁 | 18级成人毛片免费观看| 西西人体大胆视频无码| 国产视频网站一区二区三区| 久久精品日韩免费视频| 少妇激情av一区二区三区| 国产成人无码免费视频在线 | 99久久精品久久久| 成人免费av高清在线| 韩国三级大全久久网站| 亚洲成成品网站源码中国有限公司| 无码91 亚洲| 亚洲一品道一区二区三区| 国产一区二区三区精品免费av | 亚洲精品综合在线影院| 亚洲av产在线精品亚洲第三站 | 日韩aⅴ人妻无码一区二区| 色婷婷日日躁夜夜躁| 久久久精品人妻一区二区三区日本 | 无码av一区二区大桥久未| 国产日韩在线播放观看| 有码中文字幕一区二区| 久久精品国产91精品亚洲| 熟妇丰满多毛的大隂户| 女的把腿张开男的猛戳出浆| 久久国产精品精品国产色| 国产色婷婷久久又粗又爽| 一区二区三区人妻无码| 亚洲Av午夜精品a区| 日本一道本加勒比东京热| 国产精品国产三级国产av品爱网 | 真正免费一级毛片在线播放 | 久久本道久久综合伊人| 欧美午夜刺激影院| 国产精品欧美久久久久老妞| 亚洲国产一区二区视频| 日本丰满熟妇videossex一| 最新国产一区二区精品久久|