app开发者平台在数字化时代的重要性与发展趋势解析
777
2022-09-20
C#串口通讯,复制粘贴就可用,仅仅介绍怎样最快的搭建一个串口通讯,异常拦(cctv5体育节目表)
using System;
using System.Collections.Generic;
using System.IO.Ports;
using System.Text;
//串口通讯类
public class SerialPortManager
{
//声明一个静态的串口资源
private SerialPort ComDevice = new SerialPort();
public SerialPortManager()
{
var portList = SerialPort.GetPortNames();//获取当前搜索到的串口集合
ComDevice.DataReceived += new SerialDataReceivedEventHandler(Com_DataReceived); //绑定事件,接收到串口数据时触发
}
///
/// 打开和关闭串口,
/// 前端放个按钮调用这个方法
/// 串口名称用SerialPort.GetPortNames()拉取所有串口,上面构造有写
/// 下面相关的参数具体有些哪些百度下就知道了,这块只是举例,当然也可以直接用
///
/// 串口名称
///
public void openOrCloseSerialPort(string serialPortName)
{
//判断当前状态是打开还是关闭,开启的话就关闭,反之就开启
if (ComDevice.IsOpen == false)
{
//设置串口名称
ComDevice.PortName = serialPortName;
//设置波特率
ComDevice.BaudRate = 115200;
//设置数据位
ComDevice.DataBits = 8;
//校验位设置
ComDevice.StopBits = StopBits.One;
//停止位设置
ComDevice.Parity = Parity.None;
//开启串口
ComDevice.Open();
}
else
{
ComDevice.Close();//关闭串口
}
}
///
/// 串口数据读取方法,在构造时已经监听
///
private void Com_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
byte[] ReDatas = new byte[ComDevice.BytesToRead];
ComDevice.Read(ReDatas, 0, ReDatas.Length);
//接收到的字节流
var data = ReDatas;
//根据自己需求转换
var str = new UTF8Encoding().GetString(ReDatas);
}
///
/// 发送数据方法
///
/// 需要发送的字节流
public void Com_SendData(byte[] data)
{
if (ComDevice.IsOpen)
{
ComDevice.Write(data, 0, data.Length);//发送数据
}
}
}
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~