亚洲mv大片欧洲mv大片入口,国产粉嫩无码一区二区三区,国内精品自产拍在线观看91,久久久亚洲欧洲日产国码二区,中文字幕人妻久久一区二区三区

常州機器視覺培訓

常州上位機軟件開發(fā)

常州工業(yè)機器人編程設計培訓

常州PLC培訓

常州PLC

常州PLC編程培訓

常州電工培訓

常州和訊plc培訓中心歡迎您!
當前位置:網站首頁 > 新聞中心 新聞中心
C#上位機系列教程零基礎入門-串口收發(fā),常州上位機學習,常州機器視覺學習
日期:2023-12-7 17:15:04人氣:  標簽:常州上位機學習 常州機器視覺學習

C#上位機系列教程零基礎入門-串口收發(fā)

歡迎來到C#上位機教程的零基礎入門!本教程將幫助你從零開始學習C#編程,并使用C#構建上位機應用程序,本教程將以經典的串口工具開發(fā)為Demo,講述一個項目如何去實現(xiàn),本節(jié)內容將講述串口的收發(fā)


1、首先介紹在SerialPort 類中,串口數(shù)據(jù)發(fā)送的幾個方法


public void Write(byte[] buffer,int offset,int count);

public void Write(string text);

public void Write(char[] buffer, int offset,int count);

public void WriteLine(string text);

2、串口數(shù)據(jù)的接收方法


public int Read(byte[] buffer, int offset, int count);

public int Read(char[] buffer, int offset, int count);

public int ReadByte();

public string ReadExisting();

public string ReadLine();

public string ReadTo(string value);

public event SerialDataReceivedEventHandler DataReceived;

以上方法可以在SerialPort 類中找到,并可以嘗試使用,并加強理解


3、本節(jié)主要實現(xiàn)的目標是實現(xiàn)串口工具數(shù)據(jù)的發(fā)送和接收件,具體功能下圖:

1.png

配置好虛擬串口后分別打開兩個串口工具實例,并各自打開COM2,和COM3,當在實例1的發(fā)送區(qū)中填入內容后點擊手動發(fā)送,實例2的接收區(qū)能夠接收到實例1發(fā)送的內容,當在實例2的發(fā)送區(qū)中填入內容點擊手動發(fā)送,實例1的接收區(qū)能夠接收實例2發(fā)送的內容。具體實現(xiàn)代碼如下:


當實例1發(fā)送區(qū)的"手動發(fā)送"按鈕產生一個"Click"事件時將調用以下代碼:


   private void send_btn_Click(object sender, EventArgs e)

        {

            // 如果發(fā)送的數(shù)據(jù)不為空且串口已經打開,則發(fā)送

            if (this.send_rtb.Text != "" && serialPort1.IsOpen)

            {

                //this.recive_rtb.AppendText(this.send_rtb.Text);

                serialPort1.Write(send_rtb.Text);

            }

            else

            {

                MessageBox.Show("請先輸入發(fā)送數(shù)據(jù)!");


            }

        }

如果發(fā)送區(qū)的內容不為空且串口已經打開,則調用實例serialPort1的Write方法將指定的字符串寫入串行端口。


串口數(shù)據(jù)的接收我們需要先定義一個serialPort1對象的DataReceived事件


具體操作如下:

2.png

單擊seralPort1對象DataReceived事件中定serialPort1_DataReceived方法,代碼如下:


   private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)

        {

            string dataRecive = serialPort1.ReadExisting();

            recive_rtb.AppendText(dataRecive);

        }


SerialPort.ReadExisting 方法會讀取 SerialPort 對象的流和輸入緩沖區(qū)中所有立即可用的字節(jié),并返回string類型的數(shù)據(jù)。接收區(qū)對象通過AppendText方法添加返回的String并在接收區(qū)的文本框顯示。當 SerialPort 對象表示的端口接收了數(shù)據(jù)后會觸發(fā)DataReceived事件,同時會調用serialPort1_DataReceived方法。

本文網址:

相關信息:
版權所有 CopyRight 2006-2017 江蘇和訊自動化設備有限公司 常州自動化培訓中心 電話:0519-85602926 地址:常州市新北區(qū)府琛商務廣場2號樓1409室
蘇ICP備14016686號-2 技術支持:常州山水網絡
本站關鍵詞:常州PLC培訓 常州PLC編程培訓 常州PLC編程 常州PLC培訓班 網站地圖 網站標簽
在線與我們取得聯(lián)系
亚洲mv大片欧洲mv大片入口,国产粉嫩无码一区二区三区,国内精品自产拍在线观看91,久久久亚洲欧洲日产国码二区,中文字幕人妻久久一区二区三区