C#用serialPort和chart控制項實現簡單波形繪製

來源:互聯網
上載者:User

標籤:

先看最終的:

主要實現功能是將串口發送過來的資料按波形顯示

註:本例是以串口調試助手和虛擬串口VSPD軟體類比串口發送資料的,詳細說明見下文

說明:
serialPort的ReadByte()方法用於從System.IO.Ports.SerialPort輸入緩衝區中同步讀取一個位元組。

chart控制項的spline為曲線圖,以光滑的曲線串連各點。


幾個代碼塊說明:

(1)

  private void SearchAndAddSerialToCombobox(SerialPort Myport, ComboBox Mybox)        {            string Buffer;            Mybox.Items.Clear();            for (int i = 1; i < 20; i++)            {                try                {                    Buffer = "COM" + i.ToString();                    Myport.PortName = Buffer;                    Myport.Open();                    Mybox.Items.Add(Buffer);                    Myport.Close();                }                catch                { }            }        }
這段代碼功能是尋找可用的串口並添加到comboBox下拉選項中。原理是逐個測試串口是否可用,一般來說電腦1-20就足夠了,如果超過20個,可修改。

(2)

 private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)        {            byte[] data_receive = new byte[3];            data_receive[0] = (byte)serialPort1.ReadByte();            data_receive[1] = (byte)serialPort1.ReadByte();            data_receive[2] = (byte)serialPort1.ReadByte();            textBox1.AppendText(data_receive[0].ToString()+" ");            textBox1.AppendText(data_receive[1].ToString());            textBox1.AppendText(data_receive[2].ToString()+"\r\n");            series.Points.AddY(data_receive[0]);            /*  int data_receive = serialPort1.ReadByte();              textBox1.AppendText(data_receive.ToString()+" ");              series.Points.AddY(data_receive);*/        }

這段代碼是將串口資料顯示在chart表格中,這裡的代碼需要根據自己實際傳送的資料加以修改,不難,textbox控制項就可以顯示,若用源碼資源(文章末尾)中帶的串口調試助手當做發送則不用修改。

我所用的串口調試助手每次發送過來的單位元組都會自動在末尾加換行“\r\n”,所以我用讀三次顯示第一個方式記錄資料,串口調試助手發送時記得勾選hex發送,每次發送一個位元組。

源碼下載:http://download.csdn.net/detail/u012342996/9513760

(註:該資源中有串口調試助手,但無VSPD,VSPD自行百度下載即可)




serialPort的ReadByte()方法用於從System.IO.Ports.SerialPort輸入緩衝區中同步讀取一個位元組。

C#用serialPort和chart控制項實現簡單波形繪製

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.