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

        ?

        基于.net的串口示波器開發(fā)

        2016-08-04 06:16:08天津中德應(yīng)用技術(shù)大學(xué)300350
        電子測試 2016年13期

        王 剛(天津中德應(yīng)用技術(shù)大學(xué),300350)

        ?

        基于.net的串口示波器開發(fā)

        王 剛
        (天津中德應(yīng)用技術(shù)大學(xué),300350)

        摘要:本文用.net中的SerialPort和Chart控件實(shí)現(xiàn)了一個(gè)簡單的串口示波器,它能夠把嵌入式系統(tǒng)采集并通過串口發(fā)送來的數(shù)據(jù),以波形圖的形式繪制在窗口界面上并實(shí)時(shí)更新,實(shí)現(xiàn)了一個(gè)簡單的上位機(jī)監(jiān)控程序。

        關(guān)鍵詞:串口通信;SerialPort;Chart;示波器

        0 引言

        在工業(yè)控制,智能家居以及物聯(lián)網(wǎng)應(yīng)用等領(lǐng)域,使用PC機(jī)或移動設(shè)備對傳感器、單片機(jī)采集發(fā)送來的數(shù)據(jù)進(jìn)行接收、顯示、存儲甚至統(tǒng)計(jì)分析是一種常用的應(yīng)用形式。

        受到成本,體積以及能耗的限制,負(fù)責(zé)采集發(fā)送數(shù)據(jù)的設(shè)備,一般不是傳統(tǒng)意義的電腦而是各種類型的嵌入式系統(tǒng)。使用網(wǎng)絡(luò)、WIFI、藍(lán)牙等形式進(jìn)行數(shù)據(jù)傳輸成本較高,所以大多數(shù)情況下,人們會選擇串口通信作為嵌入式系統(tǒng)和上位機(jī)通信的方式,串口是單片機(jī)普遍支持的通信方式,可以直接和PC機(jī)的串口或通過轉(zhuǎn)換器和USB口連接(不同設(shè)備的串口規(guī)格不一樣比如RS232,RS422等,需要的USB串口轉(zhuǎn)換器也不同),如果需要無線傳輸,還可以在收發(fā)雙方使用無線串口模塊,在不改變兩端程序的情況下實(shí)現(xiàn)無線傳輸。

        本文以最簡單的單通道串口示波器為例,其運(yùn)行效果如下:

        圖1 上位機(jī)執(zhí)行效果圖

        1 數(shù)據(jù)的采集和發(fā)送

        本文使用Arduino作為嵌入式系統(tǒng)的核心,在Arduino中模擬了一個(gè)循環(huán)生成的正弦波形狀的數(shù)據(jù),Arduino以一定的時(shí)間間隔通過串口發(fā)出一個(gè)浮點(diǎn)數(shù),程序代碼如下圖2:

        Arduino可以把數(shù)據(jù)以二進(jìn)制(使用Serial.write() 命令)或者字符串(使用Serial.print()命令)的形式發(fā)送到串口,如果采集來的數(shù)據(jù)可以用整型描述就采用二進(jìn)制形式發(fā)送,處理比較簡單,如果是浮點(diǎn)數(shù)比如溫度、電壓、氣體濃度等,可以以ASCII碼的方式發(fā)送到串口,默認(rèn)浮點(diǎn)數(shù)小數(shù)點(diǎn)后保留兩位,上位機(jī)確認(rèn)數(shù)據(jù)的長度并把字符型轉(zhuǎn)化為浮點(diǎn)型就可以使用了。

        2 上位機(jī)接收串口數(shù)據(jù)

        Windows系統(tǒng)中實(shí)現(xiàn)串口數(shù)據(jù)收發(fā)有三種實(shí)現(xiàn)方式:(1)MFC里利用MSCOMM控件(2)利用WINAPI函數(shù)(3).NET2.0以后可以使用SerialPort類。

        目前第三種是最常用的方式,更為簡便,而且利用.net框架中的控件,可以實(shí)現(xiàn)更強(qiáng)大的功能。SerialPort類的屬性主要包括: 串口名,波特率,數(shù)據(jù)位,停止位和奇偶校驗(yàn) 。SerialPort類的事件中的DataReceived方法用于異步接收串口數(shù)據(jù)事件,下圖3是串口初始化和數(shù)據(jù)接收主要代碼。

        從 SerialPort 對象接收數(shù)據(jù)時(shí),會在輔助線程上引發(fā)DataReceived 事件。由于此事件在輔助線程而非主線程上引發(fā),修改主線程中的元素會引發(fā)異常,要將輔助線程中所讀到的數(shù)據(jù)顯示到主線程的Form控件上時(shí),只有通過Invoke方法來實(shí)現(xiàn)。

        3 使用Chart類繪制動態(tài)波形圖

        .net中的Chart控件功能強(qiáng)大,使用靈活,一個(gè)Chart可以繪制多個(gè)繪圖區(qū)域(ChartArea),多個(gè)ChartArea可以疊加在一起,每個(gè)ChartArea又可以繪制多條Series。series是在ChartAarea上的數(shù)據(jù)描述形式,它可以是線、點(diǎn)、柱或者餅圖等。

        chart的屬性很多,支持從數(shù)據(jù)庫到數(shù)組等多種數(shù)據(jù)來源,作為示波器,我們選擇線圖的方式。首先在設(shè)計(jì)視圖中打開“工具

        圖3

        圖4

        箱”,在“數(shù)據(jù)”類別中選擇圖表控件(Chart)拖到設(shè)計(jì)區(qū)域。然后在窗口類中創(chuàng)建一個(gè)Series對象,并用如下語句在構(gòu)造函數(shù)中初始化series對象:

        series.ChartType = SeriesChartType.Spline; // Spline是利用數(shù)據(jù)生成平滑曲線的屬性

        series.Name = "電壓"; //圖例,若在一個(gè)界面上繪制多條曲線,可以對其進(jìn)行標(biāo)識

        this.myChart.Series.Add(series);

        最后定義array_show()方法用于把串口傳來的浮點(diǎn)數(shù)作為數(shù)據(jù)點(diǎn)繪制到ChartArea中去。

        在上面的程序中(如圖4),每收到一個(gè)浮點(diǎn)數(shù),就添加到圖表中,當(dāng)達(dá)到180個(gè)的時(shí)候,則移除數(shù)據(jù)點(diǎn)在序列中索引為0的點(diǎn),也就是第一個(gè)點(diǎn),那么圖中將始終只保留最后收到的180個(gè)數(shù)據(jù)點(diǎn),最后兩條語句是在圖表中顯示數(shù)據(jù)點(diǎn)的編號。

        本文只繪制了一條數(shù)據(jù)線,如果需要可以繪制多條曲線在一個(gè)或多個(gè)繪圖區(qū)域中以描述多種數(shù)據(jù),比如使用姿態(tài)傳感器的開發(fā)和測試,每個(gè)時(shí)刻傳感器可以送出9個(gè)甚至更多數(shù)據(jù),圖形化的串口示波器比大段文本數(shù)據(jù)顯示方式要直觀高效的多。而對于快速變化或者長時(shí)間接收的大量數(shù)據(jù),還可以把其存儲在Access之類的數(shù)據(jù)庫中,然后利用Chart類讀取指定區(qū)間的數(shù)據(jù),這樣就可以對歷史數(shù)據(jù)進(jìn)行顯示、分析了。

        作者簡介

        王剛 男 民族:漢 出生年月:1978.06 籍貫:天津 職稱:講師學(xué)歷:碩士研究生 研究方向:軟件工程與嵌入式開發(fā)。

        Development of serial port oscilloscope based on.Net

        Wang Gang
        (Tianjin Sino-German University of Applied Sciences,300350)

        Abstract:In this paper, with the. Net framework serialport and chart control realized a simple serial oscilloscope,it can the acquisition embedded system and through the serial port to send data,waveform drawing in the window interface and real-time updates,realize a simple PC monitoring program.

        Keywords:serial communication;SerialPort;Chart;oscilloscope

        韩日午夜在线资源一区二区| 国产成人无码精品久久久露脸| 亚洲妇女av一区二区| 亚洲欧美日韩精品久久亚洲区| 亚洲av天堂免费在线观看| 国内精品久久人妻互换| 欧美成人中文字幕| 男女裸交无遮挡啪啪激情试看| 视频在线国产一区二区| 韩国日本在线观看一区二区| 国产一级毛片卡| 国产在线一区二区三区av| 国产毛片视频一区二区| 日韩有码中文字幕av| 天天爽夜夜爽人人爽曰喷水| 成人aaa片一区国产精品| 国产一区二区黄色的网站| 91精品亚洲一区二区三区| 亚洲av第一成肉网| 熟妇人妻久久中文字幕| 亚洲高清三区二区一区| 偷拍一区二区三区在线观看| 国产精品无码Av在线播放小说| 国产大陆亚洲精品国产| 中国精品18videosex性中国| 久久99天堂av亚洲av| 一区二区三区观看在线视频| 亚洲精品成人国产av| 久久精品国产一区二区电影| 久久久精品国产sm调教网站| 欧美牲交a欧美牲交aⅴ免费下载 | 99久久99久久久精品齐齐| 国产精品日韩av一区二区| 亚洲av乱码国产精品色| 国产精品无码专区综合网| 国产一区二区三区av在线无码观看| 肉体裸交137日本大胆摄影| 亚洲天堂av在线网站| 五月天亚洲av优女天堂| 欧美乱人伦中文字幕在线不卡| 久久中文字幕人妻熟av女蜜柚m |