• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    Qt開(kāi)發(fā)平臺(tái)的搭建與應(yīng)用

    2012-04-20 00:44:52菊,慶,
    制導(dǎo)與引信 2012年2期
    關(guān)鍵詞:源碼程序開(kāi)發(fā)串口

    施 菊, 張 慶, 趙 冰

    (上海無(wú)線電設(shè)備研究所,上海200090)

    0 引 言

    Qt是一個(gè)跨平臺(tái)的C++應(yīng)用構(gòu)架,擁有直觀、強(qiáng)大的API(應(yīng)用程序編程接口),在通信控制器、自動(dòng)化電路設(shè)計(jì)系統(tǒng)、金融服務(wù)等方面應(yīng)用廣泛。Qt支持以下平臺(tái):MS/Widows、UNIX/X11-Linux、HP-UX、Digital Unix 等。目前在商業(yè)領(lǐng)域,Qt是目前最通用流行的Gui,與其它Gui相比,具有良好的封裝機(jī)制,結(jié)構(gòu)小巧,模塊化程度高,可重用性較好,無(wú)論在移植性、應(yīng)用程序,還是技術(shù)支持等方面都略勝一籌。

    Qt在工業(yè)領(lǐng)域控制界面方面占有越來(lái)越重要的地位。本文結(jié)合深圳華天正公司Real6410的ARM11開(kāi)發(fā)套件,詳細(xì)介紹了Linux環(huán)境為前提的Qt Gui開(kāi)發(fā)環(huán)境的搭建,軟件開(kāi)發(fā)過(guò)程及其如何移植等問(wèn)題。與傳統(tǒng)控制界面設(shè)計(jì)方式相比,Qt Gui還具有系統(tǒng)可靠性增強(qiáng)、開(kāi)發(fā)時(shí)間縮短、系統(tǒng)升級(jí)維護(hù)方便等優(yōu)勢(shì),具有強(qiáng)大的發(fā)展?jié)摿Α?/p>

    1 開(kāi)發(fā)平臺(tái)的搭建

    1.1 硬件平臺(tái)的搭建

    本文介紹的Qt 開(kāi)發(fā)硬件環(huán)境包括了ARM11開(kāi)發(fā)套件、PC機(jī)一臺(tái)。選擇在Windows操作系統(tǒng)下通過(guò)VMware虛擬機(jī)安裝Linux操作系統(tǒng),并配置NFS等服務(wù)功能。目前Linux操作系統(tǒng)版本較多,主要有Ubuntu和RedHat等,相比較而言,Ubuntu操作界面更為人性化、庫(kù)升級(jí)方便,因此采用Ubuntu 10版本。

    1.2 軟件平臺(tái)的搭建

    進(jìn)行Qt應(yīng)用程序的開(kāi)發(fā),首先需要準(zhǔn)備好arm-none-linux-gnueabi交叉編譯器、QtCreator和最新的Qt源碼包。在Linux 平臺(tái)下,安裝交叉編譯器為開(kāi)發(fā)板編譯內(nèi)核。Qt應(yīng)用程序也需要交叉編譯后,才能移植到ARM 平臺(tái)上。

    Qt Creator是NOKIA 公司最新推出的Qt開(kāi)發(fā)工具,與Qt Desiger等相比,它功能集成度更高,無(wú)須再單獨(dú)安裝qvfb、zlib等配套軟件,程序開(kāi)發(fā)和交叉編譯功能自成一體,交叉編譯完成后可直接下載到ARM。Qt針對(duì)不同的開(kāi)發(fā)對(duì)象提供很多種源碼包,如Qtopia、Qt/Embedded等,本文并不需要開(kāi)發(fā)圖形系統(tǒng),只是針對(duì)特定工業(yè)控制要求開(kāi)發(fā)相應(yīng)的控制界面,因此采用Qt/everywhere源碼包,對(duì)源碼包進(jìn)行交叉編譯后即可進(jìn)行使用。

    ARM 開(kāi)發(fā)套件主要準(zhǔn)備工作流程如圖1所示,可以根據(jù)需要對(duì)內(nèi)核進(jìn)行定制,對(duì)文件系統(tǒng)進(jìn)行裁減。

    圖1 準(zhǔn)備工作流程圖

    2 Qt界面開(kāi)發(fā)

    2.1 Qt程序開(kāi)發(fā)流程

    平臺(tái)搭建完成后,就可以根據(jù)需要開(kāi)發(fā)嵌入式GUI程序,使用Qt Creator開(kāi)發(fā)流程簡(jiǎn)單高效,具體流程圖如圖2所示。

    圖2 Qt程序開(kāi)發(fā)流程

    在開(kāi)發(fā)過(guò)程中,設(shè)置Qt Creator交叉編譯工具,將gcc改為arm-linux-gcc,選擇交叉編譯后的qmake,將交叉編譯后生成文件的地址選擇為ARM 可直接掛載地址。于是開(kāi)發(fā)中可以省略在PC機(jī)上交叉編譯運(yùn)行這一流程,直接對(duì)編寫(xiě)的代碼進(jìn)行交叉編譯。裁減掉ARM 文件系統(tǒng)中不需要的部分內(nèi)容,同時(shí)使其不要上電加載Qtopia等應(yīng)用程序。這樣便可以將交叉編譯后的應(yīng)用程序下載到ARM 實(shí)時(shí)調(diào)試,不用在本機(jī)編譯與交叉編譯中不斷切換,也不用手動(dòng)編寫(xiě)Makefile文件,縮短開(kāi)發(fā)流程。

    2.2 Qt用戶圖形界面設(shè)計(jì)

    Qt提供了一款專(zhuān)門(mén)用于用戶圖形界面設(shè)計(jì)的工具Qt Creator,具有強(qiáng)大的布局功能,既可以專(zhuān)門(mén)設(shè)計(jì)GUI,又可以利用它提供的集成功能,用于整個(gè)程序的開(kāi)發(fā)。Qt的界面既可以通過(guò)GUI窗口中現(xiàn)有部件的選擇排列而成,也可以通過(guò)C++編寫(xiě)完成。按照Qt開(kāi)發(fā)流程,設(shè)計(jì)了一款用于實(shí)時(shí)監(jiān)控的GUI界面,界面框架如圖3所示。

    圖3 界面程序框架圖

    串口1為調(diào)試串口,串口2為RS232,串口3為GPS串口,串口4待用;另外還在本界面上開(kāi)通了網(wǎng)絡(luò)模塊、鍵盤(pán)模塊、定時(shí)器、音頻和影像播放模塊等。

    信號(hào)和槽機(jī)制是Qt的核心機(jī)制,是一種功能強(qiáng)大的對(duì)象間通信機(jī)制,極為靈活,完全面向?qū)ο螅瑸閷?duì)象之間的通信提供了便利條件。槽用于接收信號(hào),一個(gè)槽并不知道是否有信號(hào)與自己相連??梢詫⑷我庖粋€(gè)信號(hào)與任意一個(gè)槽相連接,甚至于將一個(gè)信號(hào)與另一個(gè)信號(hào)相連。信號(hào)與槽構(gòu)造了一個(gè)強(qiáng)大的部件編程機(jī)制,取代了以往老舊的、缺乏安全性的回調(diào)技術(shù)。通過(guò)信號(hào)與槽,實(shí)現(xiàn)了各個(gè)模塊之間的有效通信。

    將開(kāi)發(fā)完成的程序交叉編譯后下載至ARM開(kāi)發(fā)板,運(yùn)行程序,如圖4所示。

    圖4界面為串口接收數(shù)據(jù)頁(yè)面,當(dāng)open按鈕按下時(shí),ARM 上所有端口被打開(kāi)??山尤腈I盤(pán)對(duì)ARM 進(jìn)行操作,也可以通過(guò)觸摸屏對(duì)ARM進(jìn)行控制,此界面同時(shí)具有實(shí)時(shí)存儲(chǔ)數(shù)據(jù)功能,把數(shù)據(jù)存儲(chǔ)到文件系統(tǒng)根目錄下,為以后進(jìn)行數(shù)據(jù)分析提供依據(jù)。界面右側(cè)為端口數(shù)據(jù)顯示界面,主要用于實(shí)時(shí)監(jiān)測(cè)各個(gè)端口數(shù)據(jù),點(diǎn)擊Net按鈕進(jìn)入網(wǎng)絡(luò)數(shù)據(jù)接收頁(yè)面,點(diǎn)擊GPS按鈕進(jìn)入GPS數(shù)據(jù)接收頁(yè)面,點(diǎn)擊Local按鈕進(jìn)入本地?cái)?shù)據(jù)頁(yè)面,點(diǎn)擊Help 進(jìn)入本界面使用說(shuō)明頁(yè)面。左側(cè)為圖形數(shù)據(jù)界面,根據(jù)接收數(shù)據(jù)實(shí)時(shí)繪制圖形,并將某些數(shù)據(jù)在圖形上滾動(dòng)顯示。如果端口數(shù)據(jù)出現(xiàn)錯(cuò)誤,此Qt GUI還可根據(jù)錯(cuò)誤的種類(lèi)給ARM發(fā)出不同的警告信息,ARM 發(fā)出相應(yīng)的報(bào)警聲。

    圖4 QT 界面圖

    3 總結(jié)

    本文講述了Qt開(kāi)發(fā)環(huán)境的搭建和應(yīng)用。使用Qt開(kāi)發(fā)GUI,能快速的開(kāi)發(fā)應(yīng)用程序,連接數(shù)據(jù)庫(kù)也非常方便快捷,界面控件元素十分豐富,能滿足各種應(yīng)用需求。Qt一直以來(lái)為開(kāi)發(fā)人員提供完整的文檔和工具,提供最為完整的平臺(tái)支持。因此,Qt在GUI程序開(kāi)發(fā)領(lǐng)域有著良好的應(yīng)用前景。

    [1] Jasmin Blanchette,Mark Summerfield.C++ GUI Programming with Qt4,Second Edition[M].2008.

    [2] 李朱峰.Linux2.6 嵌入式系統(tǒng)開(kāi)發(fā)與實(shí)踐[M].北京:北京航空航天大學(xué)出版社,2010.

    [3] 劉淼.嵌入式系統(tǒng)接口設(shè)計(jì)與Linux驅(qū)動(dòng)程序開(kāi)發(fā)[M].北京:北京航空航天大學(xué)出版社,2006.

    [4] 穆煜.嵌入式應(yīng)用程序設(shè)計(jì)[M].北京:人民郵電出版社,2009.

    猜你喜歡
    源碼程序開(kāi)發(fā)串口
    基于網(wǎng)頁(yè)源碼結(jié)構(gòu)理解的自適應(yīng)爬蟲(chóng)代碼生成方法
    基于圖神經(jīng)網(wǎng)絡(luò)的軟件源碼漏洞檢測(cè)方法
    淺談AB PLC串口跟RFID傳感器的通訊應(yīng)用
    企業(yè)如何保護(hù)源碼
    APP應(yīng)用程序開(kāi)發(fā)模式探究
    電子制作(2019年19期)2019-11-23 08:42:02
    基于TestStand的自動(dòng)檢測(cè)程序開(kāi)發(fā)
    基于嵌入式系統(tǒng)Windows CE的應(yīng)用程序開(kāi)發(fā)
    基于App inventor 2手機(jī)程序開(kāi)發(fā)過(guò)程的學(xué)習(xí)與實(shí)——以“喵喵定時(shí)器”APP開(kāi)發(fā)為例
    電子制作(2017年1期)2017-05-17 03:54:08
    基于數(shù)據(jù)結(jié)構(gòu)教輔系統(tǒng)的實(shí)驗(yàn)課程改革
    USB接口的多串口數(shù)據(jù)并行接收方法探索
    保亭| 吉首市| 甘南县| 浦城县| 克山县| 敦化市| 全椒县| 罗江县| 巴楚县| 临漳县| 隆化县| 贞丰县| 刚察县| 濮阳市| 遂平县| 吴旗县| 扶绥县| 伊吾县| 丰原市| 杨浦区| 龙游县| 铁力市| 阳高县| 丹阳市| 霍邱县| 丰县| 襄城县| 岢岚县| 上杭县| 自治县| 米泉市| 保山市| 布拖县| 南宁市| 湘潭县| 贺州市| 大姚县| 怀安县| 枞阳县| 清丰县| 大余县|