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

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

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

王星

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

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

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

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

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

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

1.2應用Windows API函數

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

1.3應用第三方串口通信類

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

2 用戶友好的串口DLL和C++串口類規劃

2.1串口DLL的規劃

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

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

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

2.2用戶友好的消息的規劃

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

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

2.3用戶友好的C++串口類規劃

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

3結束語

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

參考文獻:

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

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

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

猜你喜歡
模塊化
模塊化自主水下機器人開發與應用
基于模塊化控制系統在一體化教學中的應用
模塊化住宅
現代裝飾(2020年5期)2020-05-30 13:01:56
馬勒推出新型模塊化混動系統
考慮模塊化和退貨率的供應鏈大規模定制模型
ACP100模塊化小型堆研發進展
中國核電(2017年2期)2017-08-11 08:00:56
從模塊化中得到的二氧化碳
流程工業(2017年4期)2017-06-21 06:29:52
模塊化VS大型工廠
流程工業(2017年4期)2017-06-21 06:29:50
非模塊化設計四合一爐對流室的模塊化吊裝
機械制造技術模塊化教學改革研究
主站蜘蛛池模板: 狠狠色婷婷丁香综合久久韩国| 黄片在线永久| 国产高清无码第一十页在线观看| 日本在线国产| 成年人福利视频| 欧美国产精品不卡在线观看| 四虎成人精品| 免费毛片全部不收费的| 无码又爽又刺激的高潮视频| 91久久青青草原精品国产| 国产一二视频| 特级aaaaaaaaa毛片免费视频| 婷婷色一二三区波多野衣| 色妺妺在线视频喷水| 日本免费一级视频| 久久综合九色综合97婷婷| 国产精品自拍露脸视频| 亚洲中文字幕在线观看| 国产91九色在线播放| 国产69精品久久久久孕妇大杂乱 | 免费中文字幕一级毛片| 好吊色妇女免费视频免费| a免费毛片在线播放| 中国一级毛片免费观看| 毛片国产精品完整版| 911亚洲精品| 人妻一本久道久久综合久久鬼色| 成人免费黄色小视频| 亚洲精品色AV无码看| 香港一级毛片免费看| 国产亚洲高清视频| 亚洲自偷自拍另类小说| 国模视频一区二区| 亚洲成人黄色网址| 精品亚洲国产成人AV| www中文字幕在线观看| 尤物精品视频一区二区三区| 欧美日本视频在线观看| 久久婷婷六月| av大片在线无码免费| 欧美色综合网站| 欧美啪啪一区| 在线免费a视频| 日韩高清无码免费| 一级不卡毛片| 国产精品污视频| 日本高清免费一本在线观看| 熟女成人国产精品视频| 国产精品性| 欧美在线国产| 色哟哟国产精品| 国产精品高清国产三级囯产AV| 国产又大又粗又猛又爽的视频| 超级碰免费视频91| 在线毛片免费| 日韩毛片免费观看| 亚洲精品人成网线在线| 九九这里只有精品视频| 国内熟女少妇一线天| 色妞永久免费视频| 日韩精品专区免费无码aⅴ| 欧美另类一区| 91小视频在线观看免费版高清| 亚洲制服丝袜第一页| 久久婷婷色综合老司机| 色欲色欲久久综合网| 中文字幕亚洲乱码熟女1区2区| 欧美日韩中文国产| 色婷婷电影网| 欧美 亚洲 日韩 国产| 色欲不卡无码一区二区| 亚洲无码A视频在线| 亚洲精品在线影院| 中文字幕av无码不卡免费| 97超级碰碰碰碰精品| 亚洲毛片一级带毛片基地| 国产传媒一区二区三区四区五区| 欧美日韩专区| www欧美在线观看| 亚洲av无码久久无遮挡| 欧美激情综合| 亚洲欧美综合在线观看|