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

        ?

        流程圖化的嵌入式系統(tǒng)開發(fā)平臺*

        2017-04-19 10:17:57李毅航涂強(qiáng)唐立軍
        關(guān)鍵詞:圖形化功能模塊流程圖

        李毅航,涂強(qiáng),唐立軍

        (1.長沙理工大學(xué) 物理與電子科學(xué)學(xué)院,長沙 410114;2.近地空間電磁環(huán)境監(jiān)測與建模湖南省普通高校重點實驗室)

        流程圖化的嵌入式系統(tǒng)開發(fā)平臺*

        李毅航1,2,涂強(qiáng)1,2,唐立軍1,2

        (1.長沙理工大學(xué) 物理與電子科學(xué)學(xué)院,長沙 410114;2.近地空間電磁環(huán)境監(jiān)測與建模湖南省普通高校重點實驗室)

        面向嵌入式零代碼基礎(chǔ)使用者和低成本開發(fā)者,搭建了一個基于STM32的軟硬件一體化編程的流程圖化的嵌入式系統(tǒng)開發(fā)平臺。該平臺采用STM32作為硬件載體,用QT跨平臺C++圖形用戶界面搭建簡單易懂的流程圖操作界面。硬件框圖界面能驅(qū)動嵌入式設(shè)備,用編譯軟件封裝功能模塊放置功能編輯盒,通過命令行調(diào)用編譯器,調(diào)用外部燒錄軟件完成下載,代碼查看器可直觀監(jiān)視編譯全過程。測試結(jié)果表明,該平臺可方便、快捷解決編程問題。

        流程圖編程;嵌入式系統(tǒng);界面開發(fā)

        引 言

        流程圖編程,即將程序代碼與直觀的圖形相結(jié)合,用戶在進(jìn)行圖形化編程時,無需考慮程序語法、句法的嚴(yán)格要求,具有程序結(jié)構(gòu)直觀、易于理解、交互方式簡單等優(yōu)點,將大量節(jié)省軟件開發(fā)的人力資源和時間耗費[1-4]。LabVIEW為目前主流的圖形化編程語言,是利用計算機(jī)技術(shù)解決復(fù)雜、繁瑣、費時的編程問題和學(xué)習(xí)C++的重大突破,與傳統(tǒng)的編程語言相比,可以節(jié)省80%的程序開發(fā)時間[5]。LabVIEW包含有強(qiáng)大的函數(shù)庫,導(dǎo)致其要求有專業(yè)基礎(chǔ),且軟件學(xué)習(xí)周期長。本文以C51和STM32單片機(jī)為研究對象,探索零代碼基礎(chǔ)嵌入式系統(tǒng)流程圖開發(fā)平臺,實現(xiàn)集預(yù)處理、編譯、匯編、鏈接和硬件操作于一體的圖形化開發(fā)平臺。

        1 嵌入式系統(tǒng)流程圖化方案

        嵌入式系統(tǒng)開發(fā)平臺主要為方便嵌入式系統(tǒng)工作者編程需要,減少編程工作量,省略初學(xué)者學(xué)習(xí)嵌入式系統(tǒng)軟件的程序。因此流程圖式程序編譯平臺應(yīng)該包括流程圖界面、硬件框圖界面、功能編輯盒、代碼查看器、編譯下載部分,用來完成流程圖的搭建、初始化設(shè)置、變量定義、代碼查看、編譯及下載,如圖1所示。首先,設(shè)計流程圖軟件界面,以方便在界面上實現(xiàn)功能模塊操作,完成可視化的流程圖設(shè)計。硬件框圖界面能實現(xiàn)驅(qū)動嵌入式單片機(jī)設(shè)備功能,其次,功能編輯盒的設(shè)計,給每個模塊都封裝有實現(xiàn)常用功能的C語言函數(shù),代碼查看器能夠顯示功能模塊中的代碼,并直觀監(jiān)視編譯全過程。最后,可通過命令行調(diào)用編譯器和外部燒錄軟件來實現(xiàn)程序的編譯和下載,實現(xiàn)流程圖化嵌入式系統(tǒng)開發(fā)。

        圖1 流程圖化嵌入式系統(tǒng)開發(fā)設(shè)計方案

        2 具體設(shè)計

        設(shè)計本平臺,使得用戶無需像傳統(tǒng)編程一樣逐條代碼編寫,直接將平臺提供的功能模塊連接成流程即可實現(xiàn)編程。平臺功能通過4個方面實現(xiàn):平臺界面的搭建、功能模塊代碼編寫及封裝、硬件結(jié)構(gòu)框圖的構(gòu)建、圖形化程序的編譯及下載。設(shè)計思路如圖2所示。

        圖2 平臺設(shè)計思路

        2.1 平臺界面的搭建

        平臺界面搭建是基于QT界面開發(fā)庫編寫實現(xiàn)的,主要包含5個部分,分別是菜單操作、功能編輯盒、軟件流程圖、硬件結(jié)構(gòu)圖和代碼查看器。

        菜單操作是利用QAction、QMenu搭建的快捷菜單,有新建、打開、保存、編譯、下載、清除等一系列常用功能,同時可以打開或關(guān)閉軟件流程圖、硬件結(jié)構(gòu)圖、功能編輯盒、代碼查看器等程序編寫界面。

        功能編輯盒由QTreeWidgetItem構(gòu)成,搭建在QDockWidget建立的可??看翱谥校忻總€功能模塊的代碼和模塊圖形等信息,可自由選擇??课恢么蜷_或關(guān)閉。

        軟件流程圖是整個界面的核心部分,利用QDrag函數(shù)來實現(xiàn)對功能模塊的拖拽,利用重寫EventFilter函數(shù)來監(jiān)控每一個控件事件的發(fā)生,并觸發(fā)相關(guān)功能函數(shù),如左鍵單擊,能移動模塊;左鍵雙擊,能設(shè)置輸入?yún)?shù)和輸出參數(shù);右鍵單擊,能連接流程線;右鍵雙擊,能刪除模塊。

        代碼查看器是利用QDockWidget建立的可??看翱冢谇度胧焦ぷ髡哌M(jìn)行流程圖連線時,利用重寫EventFilter函數(shù)可觸發(fā)監(jiān)控事件,把模塊對應(yīng)的C語言函數(shù)顯示在代碼查看器中,進(jìn)而監(jiān)視編譯的全過程,并能對代碼進(jìn)行直接修改。實現(xiàn)原理如圖3所示。

        圖3 開發(fā)平臺界面實現(xiàn)原理

        2.2 功能模塊代碼編寫及封裝

        平臺廣泛采集通用的嵌入式系統(tǒng)功能模塊,每個功能模塊在編譯器中完成功能代碼函數(shù)的編寫,并在平臺頭文件中聲明,用戶可直接在平臺中實現(xiàn)功能函數(shù)調(diào)用。平臺封裝有開始、結(jié)束、循環(huán)、如果、否則等基本語句;LED燈A、LED燈B、按鍵A、按鍵B、蜂鳴器、顯示屏等外界器件封裝;延時、串口、定時器中斷、PWM輸出、ADC輸入、光敏傳感、溫度傳感、紅外遙控等功能模塊封裝。封裝好的模塊可以直接作為圖形添加到流程圖中,應(yīng)用結(jié)構(gòu)化的設(shè)計模式與具體硬件相結(jié)合的方式,依靠提供的圖形化環(huán)境開發(fā)一個完整的程序。同時,也可作為第三方平臺,用戶自行編寫符合自身應(yīng)用場景的函數(shù)來完善封裝庫,實現(xiàn)資源共享。封裝原理如圖4所示。

        圖4 功能模塊封裝原理

        2.3 硬件結(jié)構(gòu)框圖的構(gòu)建

        平臺基于STM32的軟硬件一體化開發(fā),通過QPaint函數(shù)完成單片機(jī)樣圖繪制、QTextEdit函數(shù)完成引腳標(biāo)注、EventFilter監(jiān)控事件發(fā)生,實現(xiàn)功能模塊與單片機(jī)引腳的連接,輸入驅(qū)動該設(shè)備的引腳編號,從而達(dá)到通過單片機(jī)引腳驅(qū)動硬件設(shè)備的目的,同時將會在代碼查看器中顯示硬件初始化函數(shù),實現(xiàn)帶有硬件設(shè)置的流程圖化嵌入式系統(tǒng)編程。硬件結(jié)構(gòu)框圖構(gòu)建原理如圖5所示。

        圖5 硬件結(jié)構(gòu)圖設(shè)計原理

        2.4 程序的圖形化鏈接、編譯及下載

        平臺開發(fā)時包含所有可能會用到的頭文件,開始語句中包含主函數(shù),功能編輯盒中的功能模塊封裝有完整的功能函數(shù)代碼,程序自動文本補(bǔ)充返回值語句,故圖形化程序的鏈接就是按照一般流程圖的規(guī)則,將模塊進(jìn)行組合,完成所需程序設(shè)計。當(dāng)流程圖程序設(shè)計完成后,可開始編譯,若顯示編譯通過,自動通過命令行調(diào)用編譯器,完成對代碼的預(yù)處理、編譯、匯編,并以編譯器的鏈接文件格式輸出鏈接文件,完成對多個目標(biāo)文件的鏈接,生成二進(jìn)制代碼hex文件,調(diào)用外部燒錄軟件實現(xiàn)下載功能。

        3 系統(tǒng)測試

        3.1 測試方案

        測試方案是通過平臺自帶的基本語句和功能模塊搭建一個流程圖來實現(xiàn)一個實用案例,通過案例檢測功能模塊是否達(dá)到預(yù)期的效果,以及連接過程中是否會有異常發(fā)生。設(shè)計如下案例:用光敏傳感器來讀取光強(qiáng),當(dāng)光度值超過50時,LED紅燈亮,蜂鳴器開啟,顯示屏顯示具體光度值以及提示天亮了。當(dāng)光度值低于50時,LED綠燈亮,蜂鳴器關(guān)閉,顯示屏顯示具體光度值以及提示天黑了。搭建流程圖如圖6所示。

        圖6 流程圖搭建界面效果圖

        3.2 測試結(jié)果

        當(dāng)用日光照射時,LED顯示紅燈,顯示屏上顯示light intensity is 83,now the day is breaking,并伴有蜂鳴器的聲音。當(dāng)遮擋住日光時,LED顯示綠燈,顯示屏上顯示light intensity is 3,now the dark is rising,沒有蜂鳴器的響聲。

        測試結(jié)果表明:如圖6所示的流程圖可以很好實現(xiàn)案例所要求的功能,測試過程中文件的新建、打開、保存,程序的編譯、下載均能正常響應(yīng),控件之間連接正常,平臺界面在使用過程中也并未出現(xiàn)BUG,所有功能正常。

        結(jié) 語

        [1] 鐘志超,張志勝,戴敏,等.流程圖與類C語言實時轉(zhuǎn)換方法[J].東南大學(xué)學(xué)報,2009,39(3):502-507.

        [2] 陳瑞森.基于流程圖編程的單片機(jī)軟件系統(tǒng)開發(fā)[J].智能計算機(jī)與應(yīng)用,2013(4):95-96,99.

        [3] 郭國法,宮瑤,張開生.嵌入式課程遞階教學(xué)平臺的設(shè)計與實現(xiàn)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2015(9):159-22,95.

        [4] 朱云,曾曉勤,朱寧,等.基于圖文法的程序流程圖與源代碼自動轉(zhuǎn)換[J].計算機(jī)工程與科學(xué),2015(5):937-945.

        [5] 黃明,朱群雄.基于流程圖的設(shè)備管理系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機(jī)與應(yīng)用化學(xué),2009,26(8):1073-1078.

        [6] LabVIEW——虛擬儀器系統(tǒng)的理想開發(fā)平臺[J].國外電子測量技術(shù),1996(4):52.

        [7] 邢維巍,樊尚春.嵌入式圖形用戶界面開發(fā)平臺[J].北京航空航天大學(xué)學(xué)報,2003(9):829-833.

        [8] 范效瑋.基于單片機(jī)的圖形化編程平臺的設(shè)計與實現(xiàn)[D].長沙:中南林業(yè)科技大學(xué),2015.

        [9] 萬偉.PLC編程語言開發(fā)平臺的設(shè)計[D].武漢:武漢理工大學(xué),2007.

        [10] 姚健東.一種通用圖形化嵌入式開發(fā)平臺的設(shè)計及應(yīng)用[D].蘇州:蘇州大學(xué),2010.

        李毅航,主要從事嵌入式系統(tǒng)研究;唐立軍(教授),主要從事信號檢測與處理研究。

        Flow Chart of Embedded System Development Platform

        Li Yihang1,2,Tu Qiang1,2,Tang Lijun1,2

        (1.School of Physics and Electronic Science,Changsha University of Science and Technology,Changsha 410114,China;2.Key Laboratory of Electromagnetic Environment Monitoring and Modeling in Hunan Province)

        A software and hardware integration programming flow chart like embedded-system development platform based on STM32 is built for the beginners.The platform uses the STM32 as the hardware carrier,adopts QT to build the flow chart which is simple and easy to understand.The hardware block diagram can drive the embedded functional equipment.The function editor is arranged by the compiler software package function module,the download is finished by the command line calling the compiler and external burning software.The code viewer can directly monitor the whole process of compilation.The test results show that the platform can solve programming problems conveniently and quickly.

        flow chart programming;embedded system;interface development

        國家科技支撐計劃課題(項目編號:2014BAH28F04);湖南省大學(xué)生研究性學(xué)習(xí)和創(chuàng)新性實驗計劃(項目編號:201510536017)。

        TP368.2

        A

        ?士然

        2016-09-01)

        猜你喜歡
        圖形化功能模塊流程圖
        LKJ自動化測試系統(tǒng)圖形化技術(shù)研究
        基于ASP.NET標(biāo)準(zhǔn)的采購管理系統(tǒng)研究
        專利申請審批流程圖
        河南科技(2016年8期)2016-09-03 08:08:22
        專利申請審批流程圖
        河南科技(2016年6期)2016-08-13 08:18:29
        輸電線路附著物測算系統(tǒng)測算功能模塊的研究
        M市石油裝備公服平臺網(wǎng)站主要功能模塊設(shè)計與實現(xiàn)
        石油知識(2016年2期)2016-02-28 16:20:16
        運用圖形化聽寫式復(fù)習(xí),構(gòu)建高效地理課堂
        功能模塊的設(shè)計與應(yīng)用研究
        圖形化地區(qū)電網(wǎng)無功優(yōu)化軟件開發(fā)與應(yīng)用
        寧??h村級權(quán)力清單36條
        白浆国产精品一区二区| 中文字幕一区二区三区四区在线 | 亚洲精品乱码久久久久久久久久久久| 久久久久久人妻精品一区百度网盘| 亚洲精品国产主播一区二区| 人妻少妇精品视中文字幕免费| 免费无遮挡无码永久视频| 国产精品麻豆成人av电影艾秋| 久久福利青草精品资源| 国产精品自产拍av在线| 69国产成人精品午夜福中文| 老师翘臀高潮流白浆| 亚洲国产成人AⅤ片在线观看| 中文字幕亚洲永久精品| 五月天激情电影| 亚洲一本大道无码av天堂| 久久久国产不卡一区二区| 全国一区二区三区女厕偷拍| 欧美性猛交xxxx免费看蜜桃| av无码精品一区二区三区四区 | 97se在线| 免费啪啪av人妻一区二区| 精品三级久久久久久久| 精品久久中文字幕一区| 成 人片 黄 色 大 片| 国产女女做受ⅹxx高潮| 2021久久精品国产99国产| 国产三级av大全在线爽| 婷婷五月婷婷五月| 亚洲丁香婷婷综合久久小说| av男人操美女一区二区三区| 曰韩少妇内射免费播放| 免费人成无码大片在线观看| 麻豆国产AV网站| 午夜国产精品视频在线观看| 曰本大码熟中文字幕| 国产精品女视频一区二区| 亚洲一区二区三区精品久久| 亚洲熟女综合色一区二区三区 | 日本一区二区三区综合视频| 免费国产成人肉肉视频大全|