引用命名空間
// 串口命名空間
using System.IO.Ports;
新建串口實例
// 實例化串口對象
// 串口參數 串口號,波特率,數據位,停止位 ,奇偶校驗位
// 實例1 只通過串口號新建實例
SerialPort port = new SerialPort(“COM1”);
獲取所有串口號
// 返回值: 串口號集合
SerialPort.GetPortNames();
判斷串口是否打開
// 判斷串口是否打開 如果串口沒有打開就打開串口
// port.IsOpen 返回值 : true:串口打開狀態 false: 串口關閉狀態
if (!port.IsOpen)
{
port.Open();
}
打開串口
port.open()
獲取串口接收數據長度
// Readlen : 串口接收數據長度
int Readlen = port.BytesToRead;
獲取串口發送數據長度
int Writelen = port.BytesToWrite;
串口發送數據
發送字節數據
byte[] by = { 0x01, 0x02, 0x03 };
// 發送數據
// 參數1 : 發送的數據
// 參數2: 從哪個下標開始發送
// 參數3 : 到哪個下標
port.Write(by, 0, by.Length);
發送字符串
port.Write("要發送的字符串");
發送字符數組
char[] ch = {'h','e','l','l','w' };
port.Write(ch,0,ch.Length);
串口接收數據
// 新建串口接收事件
port.DataReceived += new SerialDataReceivedEventHandler(PortGet);
private void PortGet(object sender, SerialDataReceivedEventArgs e)
{
// 獲取接收緩衝區長度
int Readlen = port.BytesToWrite;
// 新建一個 byte[] 數組 用來存放接收的數據
byte[] by = new byte[Readlen];
// 接收數據到by裏面
port.Read(by, 0 , Readlen);
// throw new NotImplementedException();
}
關閉串口
port.Close();
串口完整工程
本文章為轉載內容,我們尊重原作者對文章享有的著作權。如有內容錯誤或侵權問題,歡迎原作者聯繫我們進行內容更正或刪除文章。