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 ...
随机推荐
- Numpy创建数组
# 导入numpy 并赋予别名 np import numpy as np # 创建数组的常用的几种方式(列表,元组,range,arange,linspace(创建的是等差数组),zeros(全为 ...
- 使用AOP获取自定义注解的内容
目录结构: 一:自定义注解 package org.example.annotation; import java.lang.annotation.ElementType; import java.l ...
- 11-14序列化模块之json、pickle、shelve
序列化的目的 1.以某种存储形式使自定义对象持久化: 2.将对象从一个地方传递到另一个地方. 3.使程序更具维护性. 序列化--转向一个字符串数据类型序列--及时字符串 何处用到: 数据存储 网络上传 ...
- PHP floor() 函数
实例 向下舍入为最接近的整数: <?phpecho(floor(0.60) . "<br>");echo(floor(0.40) . "<br&g ...
- PHP defined() 函数
实例 检查某常量是否存在: <?phpdefine("GREETING","Hello you! How are you today?");echo de ...
- PHP bin2hex() 函数
实例 把 "Hello World!" 转换为十六进制值: <?php 高佣联盟 www.cgewang.com$str = bin2hex("Hello Worl ...
- luogu P3223 [HNOI2012]排队
LINK:排队\ 原谅我没学过组合数学 没有高中数学基础水平... 不过凭着隔板法的应用还是可以推出来的. 首先考虑女生 发现一个排列数m! 两个女生不能相邻 那么理论上来说存在无解的情况 而这道题好 ...
- 如何用Keil MDK5创建新项目
1.安装相应软件 2.创建与Build项目 创建项目 下载与调试— ST-Link
- Python最好IDE:Pycharm使用小技巧总结,让你写代码更为舒适
- Django 环境下常用的模型设计
Django 环境下常用的模型设计 用户表 继承 django.contrib.auth.model import AbstractUser AbstractUser 默认已经包含了很多字段了 id ...