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

        ?

        基于.NET的RS—232高效串口調(diào)試程序設(shè)計(jì)與實(shí)現(xiàn)

        2012-12-31 00:00:00張婷婷

        摘要:本程序利用.NET平臺(tái)、框架、多線程和數(shù)據(jù)緩沖技術(shù),實(shí)現(xiàn)對(duì)計(jì)算機(jī)RS-232串口的管理和操作,提供了對(duì)多RS-232串口和大數(shù)據(jù)流量的高效處理。該程序不僅具有常規(guī)串口調(diào)試程序的功能,還具有在系統(tǒng)底層和界面顯示等獨(dú)特的技術(shù)。對(duì)使用RS-232串口的工程人員提供了方便高效的工具。

        關(guān)鍵詞:RS-232;.NET;多線程;數(shù)據(jù)緩沖;算法

        中圖分類號(hào):TP334.7 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9599 (2012) 17-0000-02

        RS-232串口是計(jì)算機(jī)上一種非常通用的設(shè)備通信協(xié)議,大多數(shù)計(jì)算機(jī)包含兩個(gè)基于RS-232的串口,或通過(guò)PCI卡或USB擴(kuò)展串口數(shù)量。串口同時(shí)也是儀器儀表設(shè)備通用的通信協(xié)議。很多GPIB兼容的設(shè)備也帶有RS-232串口。同時(shí),串口通信協(xié)議也可以用于獲取遠(yuǎn)程采集設(shè)備的數(shù)據(jù)。在設(shè)備使用中經(jīng)常需要使用RS-232串口進(jìn)行數(shù)據(jù)通訊。

        .NET計(jì)劃是微軟繼推出DOS、Windows之后的又一個(gè)革命性的開(kāi)發(fā)平臺(tái)。在整個(gè).NET框架中提出了大量的新概念和新技術(shù)。具有:一致的編程模式、簡(jiǎn)化了的編程模式、運(yùn)行于多個(gè)平臺(tái)、支持多語(yǔ)言的綜合、自動(dòng)資源管理、一致的出錯(cuò)處理方式、安全性、XML和SOAP的引入、全新的編程語(yǔ)言C#。

        所以采用.NET平臺(tái)設(shè)計(jì)和實(shí)現(xiàn)RS-232串口調(diào)試程序,不僅提高了開(kāi)發(fā)效率,更增加了系統(tǒng)的安全性,并運(yùn)用框架、多線程、數(shù)據(jù)緩沖和界面等技術(shù)提升程序效率。

        1程序框架組成原理

        該程序通過(guò)由Windows系統(tǒng)之上的.Net運(yùn)行時(shí)提供運(yùn)行環(huán)境,并通過(guò)框架的設(shè)計(jì)思想,對(duì)程序進(jìn)行了功能組件的設(shè)計(jì)。程序的框架組成原理如圖1。

        串口調(diào)試程序主要由四部分組件組成:串口容器、串口創(chuàng)建管理界面、數(shù)據(jù)發(fā)送接收界面和數(shù)據(jù)存儲(chǔ)組件。串口容器提供了對(duì)多個(gè)串口同時(shí)管理的功能,并通過(guò)多線程的運(yùn)用,能夠從容應(yīng)對(duì)串口在高速數(shù)據(jù)收發(fā)時(shí)的情況。串口創(chuàng)建管理界面提供方便快捷的操作,可對(duì)串口執(zhí)行新建、更改和刪除的操作。數(shù)據(jù)發(fā)送接收界面提供了顯示串口接收的數(shù)據(jù)和發(fā)送數(shù)據(jù)的界面。數(shù)據(jù)存儲(chǔ)通過(guò)數(shù)據(jù)緩沖保存串口接收到的數(shù)據(jù)內(nèi)容。

        2 程序功能設(shè)計(jì)

        2.1 串口容器設(shè)計(jì)

        串口容器組件主要提供了一個(gè)統(tǒng)一管理已經(jīng)創(chuàng)建的串口的空間,并提供了多線程緩沖處理機(jī)制,能夠應(yīng)對(duì)多個(gè)串口的高速數(shù)據(jù)收發(fā)工作。包括的主要功能有:

        (1)提供了創(chuàng)建、更改和釋放RS-232串口的接口函數(shù);(2)對(duì)多個(gè)串口的數(shù)據(jù)接收并賦值相同的回調(diào)函數(shù);(3)接收數(shù)據(jù)的多線程緩沖功能,并提供線程數(shù)量設(shè)置接口;(4)數(shù)據(jù)流量偵測(cè)功能。

        2.2 串口創(chuàng)建管理界面設(shè)計(jì)

        串口創(chuàng)建管理界面組件運(yùn)行.NET GUI技術(shù),通過(guò)快捷的操作和圖標(biāo)列表方式,提供用戶直觀和簡(jiǎn)易的操作方式,主要包括的功能如下:

        (1)計(jì)算機(jī)可用串口自動(dòng)偵測(cè);(2)新建串口功能(串口名、波特率、數(shù)據(jù)位、停止位、奇偶校驗(yàn));(3)單獨(dú)控制串口停止運(yùn)行;(4)單獨(dú)修改串口配置;(5)刪除串口。

        3 數(shù)據(jù)發(fā)送接收界面設(shè)計(jì)

        數(shù)據(jù)發(fā)送接收界面分為兩部分內(nèi)容:數(shù)據(jù)接收顯示界面和發(fā)送界面。系統(tǒng)采用大比例的接收顯示區(qū)和錨定在主窗體底部的發(fā)送區(qū),這種設(shè)計(jì)方式不僅有效的增加了顯示區(qū)的可視區(qū)域,也符合用戶常規(guī)軟件的操作習(xí)慣。包括的主要功能有:

        (1)綜合和分頁(yè)顯示切換功能;(2)顯示接收時(shí)間;(3)顯示接收數(shù)據(jù)的通訊標(biāo)識(shí);(4)十六進(jìn)制顯示接收數(shù)據(jù);(5)可單獨(dú)或同時(shí)向多個(gè)串口發(fā)送數(shù)據(jù);(6)發(fā)送數(shù)據(jù)結(jié)尾回車換行控制;(7)十六進(jìn)制發(fā)送數(shù)據(jù);(8)發(fā)送數(shù)據(jù)自動(dòng)記錄;(9)自動(dòng)發(fā)送功能。

        4 數(shù)據(jù)存儲(chǔ)設(shè)計(jì)

        數(shù)據(jù)存儲(chǔ)組件主要使用數(shù)據(jù)緩沖機(jī)制和windows文本文件結(jié)構(gòu),通過(guò)數(shù)據(jù)緩沖可以高效的接收大數(shù)據(jù)量的存儲(chǔ),文本方式有利于用戶通過(guò)操作系統(tǒng)自帶的工具進(jìn)行數(shù)據(jù)的查看。主要功能有:

        (1)數(shù)據(jù)保存緩沖功能;(2)自動(dòng)建立存儲(chǔ)目錄結(jié)構(gòu);(3)自動(dòng)保存接收數(shù)據(jù);(4)數(shù)據(jù)另存功能。

        5 程序?qū)崿F(xiàn)

        5.1 主要算法設(shè)計(jì)

        5.1.1串口容器多線程緩沖算法

        串口容器多線程緩沖在整個(gè)串口調(diào)試程序中起到核心的作用,該處設(shè)計(jì)的是否高效性直接決定了整個(gè)程序的效率。在此處沒(méi)有采用.NET自帶的線程池,而是特別設(shè)計(jì)了適合本程序的線程池功能(DataThreadPool),在這個(gè)線程池基礎(chǔ)上并進(jìn)行了拓展,即增加了數(shù)據(jù)流量偵測(cè)功能。串口容器多線程類庫(kù)結(jié)構(gòu)如圖2所示。

        5.1.2 串口創(chuàng)建管理算法

        串口創(chuàng)建管理算法建立新的可視化RS-232操作組件(CommItem)和組件容器(CommListPanel),并在容器中對(duì)新建RS-232操作組件進(jìn)行管理。通過(guò)在每一個(gè)RS-232操作組件上建立多個(gè)回調(diào)事件,該回調(diào)事件直接聯(lián)系到后臺(tái)的串口管理容器,并調(diào)用串口容器的相應(yīng)接口,完成整個(gè)事件的同步操作??梢暬M件和容器類如圖3所示。

        5.1.3 綜合和分頁(yè)顯示算法

        綜合和分頁(yè)功能用于用戶方便快速的在綜合顯示和分頁(yè)顯示中進(jìn)行切換。綜合顯示在一個(gè)區(qū)域內(nèi)同時(shí)顯示所有RS-232串口接收到的數(shù)據(jù),方便用戶進(jìn)行數(shù)據(jù)對(duì)比操作;分頁(yè)顯示在單獨(dú)的窗體中分別顯示每一個(gè)串口的數(shù)據(jù)。通過(guò)在數(shù)據(jù)接收緩沖時(shí)建立分支算法,當(dāng)切換開(kāi)關(guān)時(shí),就把數(shù)據(jù)流導(dǎo)向所設(shè)置的顯示區(qū)域內(nèi)(綜合區(qū)和分頁(yè)區(qū))。兩個(gè)顯示區(qū)都通過(guò)算法實(shí)現(xiàn)數(shù)據(jù)自動(dòng)向前滾動(dòng),保證最新一條接收到的數(shù)據(jù)總是顯示在界面可視區(qū)域的底部。

        5.1.4 數(shù)據(jù)存儲(chǔ)緩沖算法

        由于本程序支持大批量RS-232串口的數(shù)據(jù)接收,所以當(dāng)有多個(gè)串口和大量數(shù)據(jù)被接收時(shí),必須保證所接收到的數(shù)據(jù)能夠被有效的進(jìn)行存儲(chǔ)。在這里設(shè)計(jì)了數(shù)據(jù)緩沖池,在數(shù)據(jù)緩沖池內(nèi)保存了還沒(méi)有被處理的數(shù)據(jù),并通過(guò)多個(gè)線程對(duì)數(shù)據(jù)緩沖池進(jìn)行輪詢操作,直至最后一條數(shù)據(jù)被存儲(chǔ)。該算法如圖4所示。

        5.2 界面設(shè)計(jì)

        整個(gè)界面的風(fēng)格采用藍(lán)色系,在windows界面組件上采用一致的顯示風(fēng)格,符合windows用戶的操作習(xí)慣。常規(guī)和重復(fù)的操作都采用按鈕的方式,方便用戶直接操作。程序主界面如圖5所示。

        6 結(jié)論

        RS-232串口是軟硬件開(kāi)發(fā)人員經(jīng)常使用的計(jì)算機(jī)接口,該串口調(diào)試程序的設(shè)計(jì)與實(shí)現(xiàn),在性能和使用方便性上都比已有的串口調(diào)試程序有較大提高。不僅在處理多串口和大數(shù)據(jù)流量時(shí)具有良好的性能,而且多種技術(shù)的應(yīng)用和界面組件也提供給用戶良好的使用體驗(yàn)。

        參考文獻(xiàn):

        [1](法)斯梅切爾(Smacchia,P.).C#和.NET 2.0 實(shí)戰(zhàn):平臺(tái)、語(yǔ)言與框架.北京:人民郵電出版社,2008.

        [2](美)洛威(Lowy,J.)..NET組件程序設(shè)計(jì)(第2版).北京:電子工業(yè)出版社,2007.

        [3]邱錦倫.Visual C#.NET程序設(shè)計(jì)教程[M].北京:清華大學(xué)出版社,2006.

        亚洲aⅴ天堂av天堂无码麻豆| 自拍偷区亚洲综合第一页| 人妻免费一区二区三区免费 | 麻豆影视视频高清在线观看| 无码AV高潮喷水无码专区线| 亚洲啪啪AⅤ一区二区三区| 无色码中文字幕一本久道久| 精品无人码麻豆乱码1区2区| 97午夜理论片在线影院| 538亚洲欧美国产日韩在线精品| 国产精品美女主播一区二区| 国产精品国产三级国产av品爱网 | 亚洲人成精品久久久久| 免费国精产品自偷自偷免费看| 亚洲中字幕永久在线观看| 国产一级内射一片视频免费 | 国产精品一区二区三区播放| 狼人青草久久网伊人| 欧美自拍视频在线| 青青草手机成人自拍视频| 日本国产亚洲一区二区| 永久免费av无码入口国语片| 国产激情视频在线观看首页| 午夜视频在线观看国产| 色婷婷五月综合激情中文字幕| 最近中文字幕完整版| 亚洲AV无码中文AV日韩A| 中文字幕乱码日本亚洲一区二区| 四川发廊丰满老熟妇| 国产亚洲精品自在久久蜜tv| 996久久国产精品线观看 | 亚洲激情视频在线观看a五月| 18禁止看的免费污网站| 蜜臀aⅴ国产精品久久久国产老师| 欧洲乱码伦视频免费| av在线播放免费网站| 亚洲一卡2卡3卡4卡5卡精品| 国产精品无码无片在线观看3D| 美女一区二区三区在线视频| 特黄熟妇丰满人妻无码| 亚洲天堂在线视频播放|