999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

QSocketNotifier在端口監(jiān)聽中的應(yīng)用

2014-12-23 08:23:20胡軍鋒尤澤萌
科技視界 2014年29期
關(guān)鍵詞:嵌入式

胡軍鋒 尤澤萌

(山東省海洋環(huán)境監(jiān)測技術(shù)重點實驗室 山東省科學(xué)院海洋儀器儀表研究所,山東 青島 266001)

0 引言

嵌入式操作系統(tǒng)異軍突起,在工業(yè)監(jiān)測、智能家電、軍用等各個領(lǐng)域中應(yīng)用越來越廣泛。嵌入式操作系統(tǒng)目前比較流行的就是Linux 與WinCE。由于WinCE 為微軟開發(fā),代碼不公開,使用上移植行就比較差,并且收費。而Linux 內(nèi)核代碼是完全開源的,免費使用,其代碼方便移植、安全性高、穩(wěn)定性好、效率高,同時支持嵌入式CPU,如POWERPC、ARM、X86、MIPS 等,故得到廣泛的應(yīng)用。嵌入式Linux 中圖形開發(fā)軟件主要有Qt[1]與MiniGui[2]。前者是基于C++后者是基于C的。使用Qt 開發(fā)的軟件,相同的程序代碼可以在任何支持的平臺上編譯與運行,無需修改源代碼。Qt 可用于各種類型的設(shè)備和產(chǎn)品,從智能電器(移動電話、路由器和機頂盒)到工業(yè)控制設(shè)備(如醫(yī)學(xué)成像設(shè)備、移動信息系統(tǒng)等)。MiniGui 最初是用于工控設(shè)計的,其小巧、高效率特點適合于簡單界面界面開發(fā)。

本文介紹的基于嵌入式操作系統(tǒng)的氣象監(jiān)測系統(tǒng)使用的是嵌入式UBUNTU 系統(tǒng),移植了當前最流行的圖形化開發(fā)軟件Qt4。系統(tǒng)需要同時監(jiān)測各種氣象要素,如風速、風向、溫濕度、氣壓、能見度、降雨量、太陽輻射度等等氣象參數(shù)。每個氣象參數(shù)一般對應(yīng)著一種智能傳感器,這種智能傳感器很多都是具備串口通訊的。目前Qt4 之前版本中有關(guān)串口通訊類軟件還沒有,比較常用的是第三方的串口類軟件和創(chuàng)建常駐線程的方式來實現(xiàn)。第一種方式問題就是移植起來比較復(fù)雜。第二種方法需要程序員對于內(nèi)核調(diào)度有深入了解,否則在使用線程的時候容易造成系統(tǒng)崩潰。所有鑒于上述情況本文介紹使用QSocketNotifier 類來監(jiān)聽來自文件的數(shù)據(jù),實現(xiàn)串口編程。QSocketNotifier 類封裝了Linux 內(nèi)核對于底層端口的操作,使得用戶不需要去了解底層的各種的結(jié)構(gòu)體,是程序開發(fā)變得更加容易,更易理解。

1 軟件原理設(shè)計

Linux 中所有的外設(shè)都被定義為某個文件,對外設(shè)的操作也就是對于其文件進行相應(yīng)的讀寫操作,所以對于串口操作也是對于相應(yīng)的文件進行操作。QSocketNotifier 類對應(yīng)三類事件:QSocketNotifier::Read,QSocketNotifier::Write,QSocketNotifier::Exception。由于采集來自串口的數(shù)據(jù),這里只使用QSocketNotifier::Read 事件。每個QSocketNotifier 對象只對應(yīng)著一個監(jiān)聽事件,如果需要監(jiān)聽多個事件,那么就要創(chuàng)建相應(yīng)的QSocketNotifier 對象。與傳統(tǒng)的線程方式相比,大大簡化了程序代碼,由于與操作系統(tǒng)完全隔離,使得程序更加穩(wěn)定。假設(shè)需要檢測來自風傳感器、溫濕度傳感器和壓力傳感器的數(shù)據(jù)。那么我們需要創(chuàng)建三個單獨QSocketNotifier 對象,通過相應(yīng)的Qt 事件信號機制來實現(xiàn)。

圖1 軟件流程圖

首先系統(tǒng)初始化打開溫濕度、大氣壓力和風傳感器對應(yīng)的串口文件,同時設(shè)置文件通訊波特率。然后創(chuàng)建3 個QSocketNotifier 對象,分別用來監(jiān)控來自溫濕度、大氣壓力和風傳感器信號,當監(jiān)聽到某個文件有數(shù)據(jù)傳來,先判斷是否是鍵盤等其他事件,如果是則進入相應(yīng)的鍵盤及其他事件處理函數(shù)。判斷是否是串口事件,如果是其對應(yīng)的QSocketNotifier 就會發(fā)射ativated 信號,然后進入相應(yīng)的slot 處理。使用QSocketNotif 類最大好處是讓程序開發(fā)者不用去詳細了解Linux 操作系統(tǒng)后臺是如何處理串口數(shù)據(jù)的,只要有數(shù)據(jù)來就會觸發(fā)ativated信號,進入每個串口所對應(yīng)的函數(shù)操槽去處理。如果沒有事件發(fā)生,系統(tǒng)繼續(xù)等待事件的發(fā)生。

2 軟件編程實現(xiàn)

第一步:打開大氣壓力、溫濕度、風傳感器對應(yīng)的文件,設(shè)置相關(guān)波特率。

第二步:為每一個需要監(jiān)聽的串口創(chuàng)建QSocketNotifier 對象。如下所示

3 結(jié)束語

本文簡要介紹了基于QSocketNotifier 的串口監(jiān)聽方式,這種方式相比起第三方串口類,其編程比較簡單,易于初學(xué)者使用。缺點就是Qt3.0 以前版本中沒有QSocketNotifier 類,只有Qt4.0 以后的版本才有。

[1]姚福鵬.嵌入式數(shù)據(jù)庫在QT/中的應(yīng)用與研究[J].國外電子測量技術(shù),2010,9:73-79.

[2]張升,陶維青,黃林.嵌入式圖形開發(fā)界面MinuGui[J].儀器儀表用戶,2013,2.

猜你喜歡
嵌入式
Focal&Naim同框發(fā)布1000系列嵌入式揚聲器及全新Uniti Atmos流媒體一體機
TS系列紅外傳感器在嵌入式控制系統(tǒng)中的應(yīng)用
電子制作(2019年7期)2019-04-25 13:17:14
基于嵌入式Linux內(nèi)核的自恢復(fù)設(shè)計
嵌入式系統(tǒng)通信技術(shù)的應(yīng)用
電子制作(2018年18期)2018-11-14 01:48:16
嵌入式PLC的設(shè)計與研究
電子制作(2018年16期)2018-09-26 03:27:18
搭建基于Qt的嵌入式開發(fā)平臺
基于嵌入式系統(tǒng)Windows CE的應(yīng)用程序開發(fā)
嵌入式單片機在電機控制系統(tǒng)中的應(yīng)用探討
電子制作(2017年8期)2017-06-05 09:36:15
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
Altera加入嵌入式視覺聯(lián)盟
主站蜘蛛池模板: 无码一区二区三区视频在线播放| 亚洲精品国产日韩无码AV永久免费网| 日本高清视频在线www色| 国产区成人精品视频| 亚洲国产一成久久精品国产成人综合| 中文字幕首页系列人妻| 欧美精品亚洲精品日韩专区| 亚洲香蕉久久| 午夜激情福利视频| 国产簧片免费在线播放| 欧美日韩导航| 久久精品嫩草研究院| 国产精品色婷婷在线观看| 亚洲精品不卡午夜精品| 久久久久国产精品熟女影院| 黑人巨大精品欧美一区二区区| 99热这里只有免费国产精品 | 久久久久国色AV免费观看性色| 国产精欧美一区二区三区| 国产成人凹凸视频在线| 91丝袜美腿高跟国产极品老师| AV在线天堂进入| 欧美区国产区| 国产女主播一区| 国产毛片网站| 亚洲国产中文精品va在线播放| 欧美国产日本高清不卡| 亚洲一区国色天香| 国产黄视频网站| 亚洲一级毛片免费观看| 永久免费精品视频| 五月婷婷激情四射| 911亚洲精品| 欧美中文字幕在线二区| 日韩在线第三页| 国产91视频免费| www.日韩三级| 午夜福利网址| 激情六月丁香婷婷四房播| 男女男免费视频网站国产| 欧美中文字幕无线码视频| 亚洲日韩国产精品无码专区| 一级毛片基地| 国产免费一级精品视频 | 中文字幕无码中文字幕有码在线| 国产小视频免费观看| 伊大人香蕉久久网欧美| 啊嗯不日本网站| 亚洲成aⅴ人在线观看| 国产一区二区三区精品欧美日韩| 国禁国产you女视频网站| 欧美一区福利| 伊人久久久久久久| 欧美色图第一页| 免费A∨中文乱码专区| 77777亚洲午夜久久多人| 女人av社区男人的天堂| 日韩欧美中文| 欧美三级不卡在线观看视频| 久久精品国产999大香线焦| 欧美亚洲日韩中文| 国产91精选在线观看| 2020最新国产精品视频| 久久这里只有精品23| 日韩精品亚洲人旧成在线| 国产99精品久久| 黄色网站不卡无码| 精品视频一区在线观看| 精品国产Av电影无码久久久| 欧美劲爆第一页| 亚洲手机在线| 中文国产成人精品久久| 久久亚洲高清国产| 日韩高清欧美| h视频在线观看网站| 色偷偷av男人的天堂不卡| 在线免费无码视频| 无码中文字幕精品推荐| 精品丝袜美腿国产一区| 日本高清免费一本在线观看| 亚洲精品图区| 香蕉精品在线|