C#串口通讯,复制粘贴就可用,仅仅介绍怎样最快的搭建一个串口通讯,异常拦截等等需要自己加上
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); //绑定事件,接收到串口数据时触发
} /// <summary>
/// 打开和关闭串口,
/// 前端放个按钮调用这个方法
/// 串口名称用SerialPort.GetPortNames()拉取所有串口,上面构造有写
/// 下面相关的参数具体有些哪些百度下就知道了,这块只是举例,当然也可以直接用
/// </summary>
/// <param name="serialPortName">串口名称</param>
/// <returns></returns>
public void openOrCloseSerialPort(string serialPortName)
{
//判断当前状态是打开还是关闭,开启的话就关闭,反之就开启
if (ComDevice.IsOpen == false)
{
//设置串口名称
ComDevice.PortName = serialPortName;
//设置波特率
ComDevice.BaudRate = ;
//设置数据位
ComDevice.DataBits = ;
//校验位设置
ComDevice.StopBits = StopBits.One;
//停止位设置
ComDevice.Parity = Parity.None;
//开启串口
ComDevice.Open();
}
else
{
ComDevice.Close();//关闭串口
}
} /// <summary>
/// 串口数据读取方法,在构造时已经监听
/// </summary>
private void Com_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
byte[] ReDatas = new byte[ComDevice.BytesToRead];
ComDevice.Read(ReDatas, , ReDatas.Length);
//接收到的字节流
var data = ReDatas;
//根据自己需求转换
var str = new UTF8Encoding().GetString(ReDatas);
} /// <summary>
/// 发送数据方法
/// </summary>
/// <param name="data">需要发送的字节流</param>
public void Com_SendData(byte[] data)
{
if (ComDevice.IsOpen)
{
ComDevice.Write(data, , data.Length);//发送数据
}
}
}
C#串口通讯,复制粘贴就可用,仅仅介绍怎样最快的搭建一个串口通讯,异常拦截等等需要自己加上的更多相关文章
- 现在的编辑器不能复制粘贴word中的文本
我司需要做一个需求,就是使用富文本编辑器时,不要以上传附件的形式上传图片,而是以复制粘贴的形式上传图片. 在网上找了一下,有一个插件支持这个功能. WordPaster 安装方式如下: 直接使用Wor ...
- Cocos Creator JS web平台复制粘贴代码(亲测可用)
Cocos Creator JS web平台复制粘贴代码(亲测可用) 1 webCopyString: function(str){ var input = str; const el = docum ...
- Android中的复制粘贴
Android中的复制粘贴 The Clipboard Framework 当使用clipboard framework时,把数据放在一个剪切对象(clip object)里,然后这个对象会放在系统的 ...
- ubuntu快捷复制粘贴
今天使用putty,纠结复制粘贴的时候,才发现 原来只要选中文本后,就可以中键粘贴 整个桌面环境可用,新技能啊以前居然不知道
- 在CMD命令行和PowerShell中实现复制粘贴功能
在CMD命令行和PowerShell中实现复制粘贴功能 常常使用命令行或者PowerShell的朋友肯定会遇到这样的情况:粘贴文本非常easy,右键--选择粘贴就可以,可是想要复制命令 ...
- tmux的复制粘贴
tmux有面板的概念,这导致普通终端下的ctrl+shift+C的模式复制出来的文本会串行.如果面板只有一列当然没有问题,但当面板有多列时,复制就会出问题.于是tmux提出了类似vim的复制模式.因此 ...
- mac电脑复制粘贴使用command+c command+v
mac电脑复制粘贴使用command+c command+v系统偏好设置--键盘--修饰键(右下角),将ctrl键和command键的功能对换一下即可用ctrl+c ctrl+v复制粘贴缺点:所有的c ...
- VMWare12虚拟机实现主客机间的文件拖拽(复制粘贴)和文件夹共享
版本: 主机:Windows 7 64位旗舰版 虚拟机: VMWare 12 + Windows 7 64位旗舰版 VMWare pro 12 + Ubuntu16.04LTS 64位 注:由于VMW ...
- vi的复制粘贴命令 -- (转)
vi编辑器有3种模式:命令模式.输入模式.末行模式.掌握这三种模式十分重要: 1.命令模式:vi启动后默认进入的是命令模式,从这个模式使用命令可以切换到另外两种模式,同时无论在任何模式下只要按一下[E ...
随机推荐
- Python os.chmod() 方法
概述 os.chmod() 方法用于更改文件或目录的权限.高佣联盟 www.cgewang.com 语法 chmod()方法语法格式如下: os.chmod(path, mode) 参数 path - ...
- PHP strstr() 函数
实例 查找 "world" 在 "Hello world!" 中是否存在,如果是,返回该字符串及后面剩余部分: <?php echo strstr(&qu ...
- CF掉分日记 6.6 6.8
---恢复内容开始--- 写的效果依旧不好 还没写完前四题比赛就结束了 而且这些普及组的题目 我大多还是缺少简单算法的灵性 总是把问题搞复杂化. 6.5 A 第一道题非常水 简单分析发现是一个快速幂的 ...
- bzoj 4305 数列的GCD
LINK:数列的GCD 题意: 给出一个长度为N的数列{a[n]},1<=a[i]<=M(1<=i<=N). 现在问题是,对于1到M的每个整数d,有多少个不同的数列b[1], ...
- Jenkins总结1-部署jenkins
1. 介绍 jenkins是一个广泛用于持续构建的可视化web工具,持续构建说得更直白点,就是各种项目的"自动化"编译.打包.分发部署.jenkins可以很好的支持各种语言(比如: ...
- 动态生成HTML元素-模拟在线考试功能
前言 我们在项目开发过程中,经常会遇到页面html元素无法提前预设,而是通过某一些条件动态生成的情况,这里我们需要考虑如下几个因素: 1.需要动态创建的元素类型,比如TextBox, Radio, C ...
- springMVC 与 html RESTful 解决方案
若前端为html 而非jsp 且 拦截如下 <servlet-mapping> <servlet-name>springMVC</servlet-name> &l ...
- asp.net core 2.1的全局模型验证统一方案
网上的统一模型验证,有效到asp.net core 2.0 2.1的mvc还可以用 webapi嘛,想想就好,自己琢磨了一顿,才发现这东西应该这样玩 首先吧api上面的特性注释了 //[ApiCont ...
- OAuth2.0-3客户端授权放到数据库
授权得客户端信息.授权码信息全都存在数据库 1.建表 官方给了个sql文件:https://github.com/spring-projects/spring-security-oauth/blob/ ...
- C语言学习笔记之一个程序弄清&&、||、i++、++i
由此程序可以看出, ++a是先执行自加,再把值赋值给c,所以c就是a+1=10+1=11 b++是先做赋值运算,也就是先d=b,再b自加,所以d=b(原先)=5 a和b都执行自加,所以a=11,b= ...