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

探究一種用戶友好的C++串口類設計

2018-06-11 09:43:28王星
科學與財富 2018年14期
關鍵詞:模塊化

王星

摘要:在信息化社會中,串口通信在安裝與設計相關設備設施中均有廣泛性應用,文章闡述了一類以ActiveX控件MSComm和MFC Library Regular DLL為基點的C++串口設計,采用經細致規(guī)劃的函數(shù)接口和消息體制,最大限度的精簡了串口編輯程序。和直接采用MSComm控件相比較,采用該類型串口進行編程,能夠有效降低串口編程的難度系數(shù),使用者只有具備基礎的串口知識,能夠順利的書寫出正常運作的串口流程。

關鍵詞:ActiveX控件;MSComm;串口通信;模塊化

C++為當下結構最為繁雜,以及功能最為強大的一類windows應用程序開發(fā)工具,怎樣有效應用C++研發(fā)串行通信程序去達到工控系統(tǒng)的實時通信,是社會各個領域中關注的焦點,也是行業(yè)領域發(fā)展期間面對的重難點。串口通信自身具備成本低廉、操作過稱簡易、可靠性高、遠距離傳輸?shù)葍?yōu)勢,應用范疇不斷拓展。有效應用計算機上的串口能為對裝、設備進行參數(shù)規(guī)劃等工作創(chuàng)造諸多便利條件,設備間數(shù)據傳導目標也順利實現(xiàn),故此規(guī)劃具備操作串口功能的計算機程序使極為普及的編程任務。

1當前Windows操作系統(tǒng)上進行串口編程的幾種方法

1.1采用微軟C運行時庫的I/O函數(shù)

在對串口操作過程中,可應用_inp、_inpw、_inpd、_outp等函數(shù),上述函數(shù)最大的特征是能夠直接對串口芯片施以相關操作行為。這就需要編程人員對串口硬件的工作原理與程序有全面性了解[1]。

1.2應用Windows API函數(shù)

即應用Windows API中的ReadFile、WriteFile、BuildComDCB等函數(shù)進行相關操作。上述函數(shù)應用過程具有一定難度,只有在對系統(tǒng)內文件有整體認識以及設備管理具有一定深度情況下,才可有效應用。

1.3應用第三方串口通信類

第三方串口通信類以CSerialPort,cnComm等為主,應用制定的語言編寫,并裝包成類(class),內部采用調用Windows API方式,達到對串口的有效操作。

2 用戶友好的串口DLL和C++串口類規(guī)劃

2.1串口DLL的規(guī)劃

MSComm控件具備運行穩(wěn)定可靠屬性,為本文設計工作的開展與運行提供了堅實基礎。從性質上分析,MSComm為一類ActiveX控件,只有在ActiveX容器內其才會運作,并將效能發(fā)揮出來。對話框是較為典型的ActiveX容器。故此,本文規(guī)劃了一個對話框類CommCtnr,若將MSComm控件插進對話框類CommCtnr內,Visual C++開發(fā)環(huán)境將會自行取代MSComm控件產生代理類CMSComm,其將CMSComm類的對象設為對話框類CommCtnr的數(shù)據成員[2]。

使用者可直接把有關的.cpp、.h文件以及.rc資源文件拷貝到自己的工程目錄內,但上述過程運行相對復雜,且耗用大量時間。更有效的方法是把有關的文件獨立編譯為一個動態(tài)鏈接庫(DLL),用戶只需調用該動態(tài)鏈接庫,就可順利的進行串口操作。MFC能促使兩類動態(tài)鏈接庫運轉:①MFC Library Extension DLL;②MFC Library Regular DLL。前者可把整個C++類設為DLL的外部接口,以助力于DL過程,但要求用戶需采用C++語言編程,只有在動態(tài)鏈銜接MFC庫時,DLL的效能才會發(fā)揮出來,用戶群規(guī)模可能有所減縮,故此本文設計期間不采用該種方式。而應用MFC Library Regular

DLL方式,其可提供多類編程語言設計的客戶程序。因為其對外界的接口只認可是C風格的函數(shù),故此其與類(class)類型的參數(shù)之間產生互斥效應。故此,本文在對每一C風格函數(shù)接口規(guī)劃過程中,均需一個無符號整型的參數(shù)代表串口號,串口號和串口存在一一對應關系,在DLL內部串口號有針對的被轉型為MSComm串口控件。在提供串口號的情況下,就可實現(xiàn)對相關串口進行操作,為用戶創(chuàng)造諸多便利條件。

2.2用戶友好的消息的規(guī)劃

消息傳遞為Windows程序之間以及程序內部信息互換的主要渠徑,本文應用自定義的消息去落實客戶程序和DLL間的交互任務。為DLL設計了三種消息,MSComm控件若傳送消息,就會立即被轉型為者三類消息之一,最后發(fā)送給客戶程序:①接收數(shù)據消息;②傳送數(shù)據消息;③硬件控制消息或者是串口錯誤[3]。

消息的實際數(shù)值大小取決于客戶程序,于串口初始化之際,就把消息值傳達給DLL。那么在后續(xù)運轉期間,存在相關的串口事件發(fā)生時,DLL就會把對應的消息傳送給給客戶程序。

2.3用戶友好的C++串口類規(guī)劃

客戶程序能夠直接應用DLL的導出函數(shù),對串口的程序進行編輯,該類函數(shù)屬于C風格的函數(shù)。對于C++編程人員而言,本文規(guī)劃了一個C++串口類Mcomm,其為DLL導出函數(shù)的包裝類,也被稱之為稱為代理類客戶程序經由Mcomm操作串口,能夠將C++語言面向對象的優(yōu)勢彰顯出來,和C風格接口相比較,該類借口結構更顯簡潔,并且其還能夠自主管理串口資源的獲得與傳導過程,以降低客戶程序的運行負擔,進一步提升串口編程的簡易性與快捷性,遵照了簡潔、清晰、易用的設計哲學理念。應用Mcomm難度和尋常的C++類幾乎無差異,把mcomm.h文件囊括在項目內即可。

3結束語

本文以ActiveX控件MSComm為基點,規(guī)劃了一類串口通信DLL庫,進而設計了一個C++串口類,創(chuàng)設了一類對用戶友好的串口編程渠道,大幅度降低了串口程序編寫難度。此時,程序員只需具備最基礎的串口知識,就可以實現(xiàn)編程目標,為非專業(yè)程序員以及程序編寫初學者提供巨大幫助。在實踐中,發(fā)現(xiàn)DLL庫內編程語言類型眾多,此時非C/C++程序員也可以應用其對串口程序進行編輯。

參考文獻:

[1] 翁花群, 林元國. 基于Visual C++的數(shù)字圖像處理實驗教學軟件開發(fā)[J]. 廊坊師范學院學報(自然科學版), 2015, 15(1):24-28.

[2] 丁立波. 基于ARM9和Qt的嵌入式視頻監(jiān)控系統(tǒng)的設計[D]. 南昌大學, 2011,12(14):124-7413.

[3]王尹圣, 曾國強, 李強,等. 基于C#與C++混編的輕元素X熒光測量軟件[J]. 核電子與探測技術, 2015(4):394-398.

猜你喜歡
模塊化
模塊化自主水下機器人開發(fā)與應用
基于模塊化控制系統(tǒng)在一體化教學中的應用
模塊化住宅
馬勒推出新型模塊化混動系統(tǒng)
考慮模塊化和退貨率的供應鏈大規(guī)模定制模型
ACP100模塊化小型堆研發(fā)進展
中國核電(2017年2期)2017-08-11 08:00:56
從模塊化中得到的二氧化碳
模塊化VS大型工廠
非模塊化設計四合一爐對流室的模塊化吊裝
機械制造技術模塊化教學改革研究
主站蜘蛛池模板: 久久久噜噜噜久久中文字幕色伊伊| 国产成人高清精品免费| 亚洲av综合网| 综合色区亚洲熟妇在线| 91年精品国产福利线观看久久| 91精品最新国内在线播放| 成人国产免费| 午夜久久影院| 国产一区二区三区夜色| 中文字幕在线看视频一区二区三区| 日韩精品无码免费一区二区三区 | 日本免费新一区视频| 91精品国产自产在线老师啪l| 毛片一区二区在线看| 亚洲综合一区国产精品| 2021国产在线视频| 国产经典在线观看一区| 精品免费在线视频| 亚洲第一极品精品无码| 先锋资源久久| 中国国产高清免费AV片| 麻豆国产精品一二三在线观看| 51国产偷自视频区视频手机观看| 狠狠色婷婷丁香综合久久韩国| 国产在线欧美| 亚洲第一精品福利| 无码中文AⅤ在线观看| 91精品国产一区自在线拍| 丰满人妻一区二区三区视频| 久久精品丝袜| 久久久久久久久18禁秘| 亚洲第一视频区| 日韩欧美中文字幕在线精品| 依依成人精品无v国产| 精品無碼一區在線觀看 | 色综合中文| 久久久噜噜噜| 欧美日韩国产精品va| 亚洲成AV人手机在线观看网站| 国产成人乱无码视频| 欧美成人精品欧美一级乱黄| 久久亚洲精少妇毛片午夜无码| 国产精品亚洲αv天堂无码| 欧美精品高清| 91福利一区二区三区| 亚洲欧美一区二区三区图片| 在线精品自拍| 欧美第九页| 99国产在线视频| 亚洲香蕉在线| 亚洲国产成人综合精品2020 | 亚洲男人的天堂在线观看| 999国内精品久久免费视频| 中文字幕人成乱码熟女免费| 超清无码熟妇人妻AV在线绿巨人 | 免费国产一级 片内射老| 婷婷综合色| 精品国产99久久| 日韩AV无码免费一二三区| 国产va免费精品观看| a级毛片视频免费观看| 国产精品伦视频观看免费| 亚洲免费黄色网| 国产在线视频欧美亚综合| 乱系列中文字幕在线视频| 成人综合久久综合| swag国产精品| 亚洲人成色77777在线观看| 日韩无码视频专区| 欧美黄网站免费观看| 日本成人精品视频| 亚洲国产精品无码AV| 色妞www精品视频一级下载| 精品人妻无码区在线视频| 日韩成人免费网站| 91视频区| 欧美日本视频在线观看| 欧美三级日韩三级| 伊人狠狠丁香婷婷综合色| 无码AV日韩一二三区| 国产精品免费入口视频| 免费毛片在线|