欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#串口編程System.IO.Ports.SerialPort類

 更新時間:2022年06月08日 08:44:13   作者:springsnow  
這篇文章介紹了C#串口編程System.IO.Ports.SerialPort類,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

從Microsoft .Net 2.0版本以后,就默認提供了System.IO.Ports.SerialPort類,用戶可以非常簡單地編寫少量代碼就完成串口的信息收發(fā)程序。

1. 串口硬件信號定義

DB9 Connector 信號定義。串口測試將2、3針腳短接即可。

image

2、串口端口號搜索

string[] portList = System.IO.Ports.SerialPort.GetPortNames();
for (int i = 0; i < portList.Length; i++)
{
    string name = portList[i];
    comboBox.Items.Add(name);
}

還有一種通過調用API的方法來獲取實現,可以獲取詳細的完整串口名稱,對于USB-to-COM虛擬串口來說特別適用。

3、串口屬性參數設置

SerialPort mySerialPort = new SerialPort("COM2");//端口
mySerialPort.BaudRate = 9600;//波特率
mySerialPort.Parity = Parity.None;//校驗位
mySerialPort.StopBits = StopBits.One;//停止位
mySerialPort.DataBits = 8;//數據位
mySerialPort.Handshake = Handshake.Non;
mySerialPort.ReadTimeout = 1500;
mySerialPort.DtrEnable = true;//啟用數據終端就緒信息
mySerialPort.Encoding = Encoding.UTF8;
mySerialPort.ReceivedBytesThreshold = 1;//DataReceived觸發(fā)前內部輸入緩沖器的字節(jié)數
mySerialPort.DataReceived += new SerialDataReceivedEvenHandler(DataReceive_Method);

mySerialPort.Open();

4、串口發(fā)送信息

  • Write(Byte[], Int32, Int32) :將指定數量的字節(jié)寫入串行端口
  • Write(Char[], Int32, Int32) :將指定數量的字符寫入串行端口
  • Write(String) :將指定的字符串寫入串行端口
  • WriteLine(String) :將指定的字符串和NewLine值寫入輸出緩沖區(qū)
// Write a string
port.Write("Hello World");

// Write a set of bytes
port.Write(new byte[] { 0x0A, 0xE2, 0xFF }, 0, 3);

// Close the port
port.Close();

5. 串口接收信息

  • Read(Byte[], Int32, Int32):從SerialPort輸入緩沖區(qū)讀取一些字節(jié),并將那些字節(jié)寫入字節(jié)數組中指定的偏移量處
  • ReadByte():從SerialPort輸入緩沖區(qū)中同步讀取一個字節(jié)
  • ReadChar(): 從SerialPort輸入緩沖區(qū)中同步讀取一個字符
  • ReadExisting() :在編碼的基礎上,讀取SerialPort對象的流和輸入緩沖區(qū)中所有立即可用的字節(jié)
  • ReadLine() :一直讀取到輸入緩沖區(qū)中的NewLine值
  • ReadTo(String) :一直讀取到輸入緩沖區(qū)中的指定value的字符串
string serialReadString;
private void port_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
    serialReadString = port.ReadExisting());
    this.txt1.Invoke( new MethodInvoker(delegate { this.txt1.AppendText(serialReadString); }));
}

6、循環(huán)接收數據

void com_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
    // Use either the binary OR the string technique (but not both)
    // Buffer and process binary data
    while (com.BytesToRead > 0)
        bBuffer.Add((byte)com.ReadByte());
    ProcessBuffer(bBuffer);

    // Buffer string data
    sBuffer += com.ReadExisting();
    ProcessBuffer(sBuffer);
}

private void ProcessBuffer(string sBuffer)
{
    // Look in the string for useful information
    // then remove the useful data from the buffer
}

private void ProcessBuffer(List<byte> bBuffer)
{
    // Look in the byte array for useful information
    // then remove the useful data from the buffer
}

到此這篇關于C#串口編程System.IO.Ports.SerialPort類的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • C#將文件復制到指定文件夾并整理

    C#將文件復制到指定文件夾并整理

    這篇文章主要介紹了C#將文件復制到指定文件夾并按照時間順序來整理歸檔的方法,另外附上其他網友的2種實現方式,有需要的小伙伴可以參考下。
    2015-06-06
  • 探討C#中Dispose方法與Close方法的區(qū)別詳解

    探討C#中Dispose方法與Close方法的區(qū)別詳解

    本篇文章是對C#中Dispose方法與Close方法的區(qū)別進行了詳細的分析介紹,需要的朋友參考下
    2013-06-06
  • Unity實現滑動更換界面效果

    Unity實現滑動更換界面效果

    這篇文章主要為大家詳細介紹了Unity實現滑動更換界面效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • .NET企業(yè)級項目中遇到的國際化問題和解決方法

    .NET企業(yè)級項目中遇到的國際化問題和解決方法

    這篇文章主要介紹了.NET企業(yè)級項目中遇到的國際化問題和解決方法,說明了理國際化問題的一些典型例子和經驗之談,需要的朋友可以參考下
    2014-07-07
  • C#運用FileInfo類實現拷貝文件的方法

    C#運用FileInfo類實現拷貝文件的方法

    這篇文章主要介紹了C#運用FileInfo類實現拷貝文件的方法,需要的朋友可以參考下
    2014-07-07
  • C# webclient中文亂碼問題解決方法

    C# webclient中文亂碼問題解決方法

    本文介紹使用webclient抓取遠程頁面出現亂碼的處理方法,希望對大家有所幫助。
    2016-05-05
  • C#最小二乘法擬合曲線成直線的實例

    C#最小二乘法擬合曲線成直線的實例

    這篇文章主要介紹了C#最小二乘法擬合曲線成直線的實例,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Unity ScrollRect實現軌跡滑動效果

    Unity ScrollRect實現軌跡滑動效果

    這篇文章主要為大家詳細介紹了Unity ScrollRect實現軌跡滑動效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • .NET/C# 使用Stopwatch測量運行時間

    .NET/C# 使用Stopwatch測量運行時間

    這篇文章主要介紹了.NET/C# 使用Stopwatch測量運行時間,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-01-01
  • C#實現帶搜索功能的ComboBox

    C#實現帶搜索功能的ComboBox

    這篇文章主要為大家詳細介紹了C#如何實現帶搜索功能的ComboBox,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-10-10

最新評論