C# CSharp SerialPort串口工具类
来源:互联网 发布:长沙软件开发 编辑:程序博客网 时间:2024/04/28 13:35
这几天要做产线的一个治具,需要用到串口,这里就研究了下。
挺简单的,都是静态函数,直接调用即可
这个类能够实现串口的同步读和异步读方法
不要放在UI线程,会导致阻塞的。可以使用backgroundworker
需要using System.IO.Ports;
public class SerialPortHelp { //测试串口状态 public static bool Test(SerialPort serialport) { try { serialport.Open(); serialport.Close(); return true; } catch (Exception) { return false; } } //函数会直接发送一串字符串 static public bool Send(string data,SerialPort serialport) { try { serialport.Write(data); return true; } catch (Exception) { return false; } } //发送二进制 static public bool SendBinary(byte[] data, SerialPort serialport) { try { serialport.Write(data, 0, data.Length); return true; } catch (Exception) { return false; } } //同步读 直到超时 static public string SynRead(int TimeoutMs, SerialPort serialport) { string data; serialport.ReadTimeout = TimeoutMs; try { //阻塞到读取数据或超时 byte firstByte = Convert.ToByte(serialport.ReadByte()); int bytesRead = serialport.BytesToRead; byte[] bytesData = new byte[bytesRead + 1]; bytesData[0] = firstByte; for (int i = 1; i <= bytesRead; i++) bytesData[i] = Convert.ToByte(serialport.ReadByte()); data = System.Text.Encoding.Default.GetString(bytesData); return data; } catch (Exception) { return string.Empty; //处理超时错误 } } //异步读 static public string AsyRead(int waitTimeMs, SerialPort serialport) { string data; System.Threading.Thread.Sleep(waitTimeMs); try { data = serialport.ReadExisting(); return data; } catch (Exception) { return string.Empty; //处理错误 } } }
0 0
- C# CSharp SerialPort串口工具类
- C# 串口通讯:serialport类
- C#串口通信程序SerialPort类
- C#中串口类serialPort的用法!
- C#中显现串口通信SerialPort类
- C#中串口类serialPort的用法!
- C#串口serialPort操作
- C# SerialPort 串口通信
- C#串口serialPort操作
- C# SerialPort 串口通信
- C#串口serialPort操作
- C#串口serialPort操作
- C# SerialPort 串口读写
- c# SerialPort控件串口通信
- C# SerialPort控件串口通信
- c# SerialPort控件串口通信
- C#操作串口serialPort实例
- c# SerialPort控件串口通信
- JavaScript 匿名函数、模块模式、闭包、命名空间、创建构造器(类)、继承
- Ehcache分布式缓存实例(集群环境)
- 物以类聚,人以群分
- SQL2008数据库学习一 数据库设计规范
- Spinner用法案例
- C# CSharp SerialPort串口工具类
- matlab中常用函数1
- STM32+uCOS
- 爸爸,你知道吗
- Spring jar包详解
- thunk 转移调用
- Spinner的setOnItemSelectedListener(
- 理解矩阵
- 写作驱动学习