C# 模拟串口发送接收
一、准备虚拟串口驱动工具
创建俩个虚拟串口,如图:

二、创建两个控制台程序
模拟串口的发送接收数据
1. 接收数据,代码如下:
//遍历串行端口名称数组
foreach (string port in System.IO.Ports.SerialPort.GetPortNames())
{
Console.WriteLine(port);
} byte[] b = new byte[];
SerialPort sp = new SerialPort("COM4"); while (true)
{
//打开新的串行端口连接
sp.Open();
//丢弃来自串行驱动程序的接受缓冲区的数据
sp.DiscardInBuffer();
//丢弃来自串行驱动程序的传输缓冲区的数据
sp.DiscardOutBuffer();
//从串口输入缓冲区读取一些字节并将那些字节写入字节数组中指定的偏移量处
sp.Read(b, , b.Length); StringBuilder sb = new StringBuilder(); for (int i = ; i < b.Length;i++ )
{
sb.Append(Convert.ToString(b[i]) + " ");
} Console.WriteLine(sb.ToString());
Console.WriteLine(b.Length.ToString());
//关闭端口连接
sp.Close();
//当前线程挂起500毫秒
System.Threading.Thread.Sleep();
}
2.发送数据,代码如下:
SerialPort sp = new SerialPort("COM2");
byte[] m = new byte[];
int i = ;
while (true)
{
//打开新的串行端口连接
sp.Open();
//丢弃来自串行驱动程序的接受缓冲区的数据
sp.DiscardInBuffer();
//丢弃来自串行驱动程序的传输缓冲区的数据
sp.DiscardOutBuffer();
m[] = Convert.ToByte("");
m[] = Convert.ToByte("");
m[] = Convert.ToByte("");
m[] = Convert.ToByte("");
m[] = Convert.ToByte("");
//使用缓冲区的数据将指定数量的字节写入串行端口
sp.Write(m, , m.Length);
//关闭端口连接
sp.Close();
Console.WriteLine(i.ToString());
i = i + ;
//当前线程挂起500毫秒
System.Threading.Thread.Sleep();
}
C# 模拟串口发送接收的更多相关文章
- c# 串口发送接收数据
/********************** 串口数据接收事件 *****************************/ private void SerialPort_DataReceived ...
- 89c52串口发送接收小示例
//串口发送 void sendChar(char *p)//调用前关中断,调用完成后关中断 { while(*p != '\0') { SBUF = *P while(!TI); TI = 0; p ...
- Rabbitmq消息队列(二) Hello World! 模拟简单发送接收
1.简介 RabbitMQ是消息代理:它接受和转发消息.你可以把它当作一个邮局:当你把你要邮寄的邮件放在信箱里时,你可以肯定Postman先生最终会把邮件送到你的收件人那里.在这个比喻中,Rabbit ...
- [15单片机] STC15F104W开发入门及模拟串口程序
STC15F104W开发入门及模拟串口程序 Saturday, 31. March 2018 09:42AM - beautifulzzzz 前言 最近找到一款51内核的SOP8封装的8脚单片机STC ...
- Winform串口编程---接收数据demo(VSPD虚拟串口)
参考地址:https://blog.csdn.net/memgxingfeixiang/article/details/52513970 https://blog.csdn.net/kevin_io ...
- STM32之模拟串口设计
一.设计用途: 公司PCB制成板降成本,选择的MCU比项目需求少一个串口,为满足制成板成本和项目对串口需求,选择模拟一路串口. 二.硬件电路: 三.设计实现: 工具&软件:STM32F030R ...
- GPIO模拟串口注意是事项
GPIO模拟串口需要注意的事项如下:(程序见我的博客第一篇) 1.由于串口是异步通信,则串口发送必须满足宽度要求. (1)假设串口的波特率是9600bps(1s传输9600个bit),则传输1bit需 ...
- C#串口通信—向串口发送数据,同步接收返回数据
最近写C#串口通信程序,系统是B/S架构.SerialPort类有一个DataReceived事件,用来接收串口返回的数据,但这种方式在C/S架构下很好用,但B/S就不好处理了.所以写了一个同步模式接 ...
- C# Socket模拟发送接收
Socket简介 通过TCP/IP与仪器或设备通讯,在C#语言中,我们通常采用Socket.本项目是一个简单的Socket建立服务监听与Socket作为客户端请求的一个示例. 项目结构 客户端项目 S ...
随机推荐
- 第五周 mybash的实现
第五周 mybash的实现 1. 使用fork,exec,wait实现mybash 2. 写出伪代码,产品代码和测试代码 3. 发表知识理解,实现过程和问题解决的博客(包含代码托管链接) 1. for ...
- struts2框架实例
一,Struts2框架介绍 它是一个View框架,对Servle进行了封装,使用核心过滤器对servlet进行了解耦,可以自动封装数据 核心是结果视图导航 二,程序实例 1.导入框架依赖包 2.注册框 ...
- [arc065E]Manhattan Compass[曼哈顿距离和切比雪夫距离转换]
Description 传送门 Solution 题目要求的是曼达顿距离,对于每个点(x,y),我们把它变为(x-y,x+y),就可以转换成求切比雪夫距离了. 证明如下:$max(\left | (x ...
- js插件实现一键复制功能
clipboard.js 可以实现纯 JS 的从浏览器复制文本到系统剪贴板的功能. 使用方法: 1. 下载 clipboard.js,并在页面中引入该插件.clipboard.js 下载地址: htt ...
- 《图解 HTTP 》阅读 —— 第二章
第2章 简单的http协议 http 协议用于客户端和服务器端的通信. 请求访问文本或图像等资源的一端称为客户端,提供资源响应的一端称为服务器端. 请求报文: 响应报文: 为了能够处理大量的事务,ht ...
- 关闭会声会影2018提示UEIP.dll找不到指定模块
最近有一些会声会影2018用户反映在关闭后弹出UEIP.dll错误,不知道该怎么办才好,针对这个问题,小编下面为大家介绍下解决方法. 原因分析 出现这个错误跟会声会影安装路径有中文字符是密切相关的,导 ...
- python-redis集合模式
无序集合SADD set集合是直接去重的,只会输出 xiao hehe sadd names3 xiao xiao hehe hehe 获取集合 names3的所有值,集合不能用切片形式获取值, ...
- 多用户在线FTP程序
项目名:多用户在线FTP程序 一.需求 1.用户加密认证 2.允许同时多用户登录 3.每个用户有自己的家目录 ,且只能访问自己的家目录 4.对用户进行磁盘配额,每个用户的可用空间不同 5.允许用户在f ...
- [T-ARA][Falling U]
歌词来源:http://music.163.com/#/song?id=27506041 作词:韩尚元 [作词:韩尚元] 作曲:韩尚元 [作曲:韩尚元] Love is pain Love is pa ...
- 苹果全球营销高级副总裁Phil Schiller曾考虑炒掉长期创意代理商Media Arts Lab
来自<华尔街日报>消息,从去年开始,三星就利用广告来讽刺苹果产品.苹果全球营销高级副总裁菲尔•席勒(Phil Schiller)曾一度考虑炒掉该公司的长期创意代理商Media Arts L ...