C#-认识串口通信并使用串口助手

串口通讯(Serial Communication),是指外设和计算机间,通过数据信号线、地线等,按位进行传输数据的一种双向通讯方式。

串口是一种接口标准,它规定了接口的电气标准,没有规定接口插件电缆以及使用的通信协议,通信协议很多,可根据实际情况选择和自定义。

一、串口相关参数介绍

1、端口(COM口)

CMO口(Communication Module Outlet)是一种用于连接计算机和外部设备的接口,也称为串行端口,简称CMO口,常见串口通讯有一般电脑应用的RS-232(使用 25 针或 9 针连接器)和工业电脑应用的半双工RS-485与全双工RS-422。

电脑端口查看:设置->系统->关于->设备管理器->端口

2、波特率(Baud rate)

波特率是一个电子信号上的术语,用于描述信道的数据传输速度。

单位是bit/s,常见的9600波特率表示每秒传输9600个比特位,1个字节8位,9600/8=1200,代表每秒钟串口可传输1200个字节(不考虑起始位、停止位、校验位的情况下),注意:

  1. 波特率如果太高会导致传输数据不稳定,一般使用9600;
  2.  发送端与接收端波特率不一致会导致数据不一致;

3、起始位

起始位必须是持续一个比特时间的逻辑0电平,标志传输一个字符的开始,接收方可用起始位使自己的接收时钟与发送方的数据同步;

C#开发中一般不需要设置起始位。

4、停止位(StopBits)

停止位可以是是1位、1.5位或2位,可以由软件设定,它一定是逻辑1电平,标志着传输一个字符的结束;

C#开发中一般通过StopBits枚举类型设置停止位,枚举值包括None、One、Two、OnePointFive四种(通常若设备不指定,默认停止位为1位)。

5、数据位

数据位紧跟在起始位之后,是通信中的真正有效信息。数据位的位数可以由通信双方共同约定,一般可以是5位、7位或8位;

C#开发中若设备不指定,默认数据位为8位

6、校验位

校验位仅占一位,用于进行奇校验或偶校验,检验位不是必须有的。如果是奇校验,需要保证传输的数据总共有奇数个逻辑高位;如果是偶校验,需要保证传输的数据总共有偶数个逻辑高位;

C#开发中通常使用Parity枚举类型来设置校验位,有五种,日常开发中使用最多的是None无校验、Odd奇校验、Even偶校验。

7、缓存区

串口包括两个缓存区,发送缓存区和接收缓存区;

发送缓存区:(软件)发送数据时将数据先存在发送缓存区,再通过(硬件)串口发送出去;

接收缓存区:接收数据时先将数据存在接收缓存区,(软件)再从中读取数据;

二、串口通信助手

串口通信助手是用于测试和调试串口通信的工具,可通过串口与外部设备通信,提供界面来监视和控制串口数据的接收和发送,从而验证串口通信是否正常工作。

实现一个串口通信助手示例:C#Wpf-实现串口通信助手

分享一个串口通信助手,下载地址:友善串口通信助手

                                        提取码: h64y

三、虚拟串口工具

下载地址:VSPD

提取码:a2cp

破解说明:运行vspd.exe 安装,安装后先不运行,将 vspdctl.dll 文件放入工程目录中,覆盖原文件,即完成破解。

使用说明:点击Add Pair按钮添加虚拟COM口连接对,即可。

四、扩展知识 

1、位运算

符号意义逻辑介绍示例
~逻辑非取反~a
&逻辑与清0a&b
|逻辑或置1a|b
<<按位左移,超出舍掉乘以2的n次方a<<n
>>按位右移,超出舍掉除以2的n次方a>>n
^异或不同置1,相同清0a^b

  三次异或,可使变量值互换,示例如下:

int a = 13;
int b = 20;
a ^= b;
b ^= a;
a ^= b;
Console.WriteLine($"a:{a}b:{b}");

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/229498.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ArkUI开发进阶—@Builder函数@BuilderParam装饰器的妙用与场景应用【鸿蒙专栏-05】

ArkUI开发进阶—@Builder函数@BuilderParam装饰器的妙用与场景应用 HarmonyOS,作为一款全场景分布式操作系统,为了推动更广泛的应用开发,采用了一种先进而灵活的编程语言——ArkTS。ArkTS是在TypeScript(TS)的基础上发展而来,为HarmonyOS提供了丰富的应用开发工具,使开…

从戴森发明的“球轮手推车”看专利

今天跟大家分享一个特别有意思的专利&#xff0c;那就是戴森发明的球状轮子的手推车。 相信戴森这个品牌很多人都听过&#xff0c;大家熟悉的应该是戴森吹风机和戴森吸尘器。这两个目前是市场上比较高端的家用设备。 很多人也正是因为这些家用设备了解到戴森这个人&#xff0…

【SQL SERVER】定时任务

oracle是定时JOB&#xff0c;sqlserver是创建作业&#xff0c;通过sqlserver代理实现 先看SQL SERVER代理得服务有没有开 选择计算机右键——>管理——>服务与应用程序——>服务——>SQL server 代理 然后把SQL server 代理&#xff08;MSSQLSERVER&#xff09;启…

个体诊所门诊电子处方软件,个体药店收银系统,配方模板一键导入设置和操作教程

个体诊所门诊电子处方软件&#xff0c;个体药店收银系统&#xff0c;配方模板一键导入设置和操作教程 配方模板设置教程&#xff1a;软件导航栏点击 基本信息设置——配方模板设置 操作步骤&#xff1a; 1、添加分类/管理分类&#xff1a;添加常用的分类名称 2、在常用配方分…

你知道显卡型号上的数字是什么意思吗?数字越大就越好吗?

大家好&#xff0c;欢迎来到我们的显卡探秘之旅&#xff01;今天&#xff0c;我们将一探究竟——显卡型号上的数字到底是啥意思&#xff1f;是不是数字越大&#xff0c;显卡就越NB&#xff1f;别急&#xff0c;跟着小编一起揭开这个神秘的数字面纱&#xff01; Q1 显卡的基本概…

Web框架与Django路由层

Web框架 一 web框架 Web框架&#xff08;Web framework&#xff09;是一种开发框架&#xff0c;用来支持动态网站、网络应用和网络服务的开发。这大多数的web框架提供了一套开发和部署网站的方式&#xff0c;也为web行为提供了一套通用的方法。web框架已经实现了很多功能&…

YOLOV8最强操作教程.

YoloV8详细训练教程. 相信各位都知道yolov8发布了&#xff0c;也是U神大作&#xff0c;而且V8还会出论文喔&#xff01; 2023.1.17 更新 yolov8-grad-cam热力图可视化链接 2023.1.20 更新 YOLOV8改进-添加EIoU,SIoU,AlphaIoU,FocalEIoU 链接 2023.1.30 更新 如果你需要修改或者…

死磕MybatisPlus系列:Mapper的奇妙之旅

Mybatis Plus源码解析系列篇之Mapper的奇妙之旅 一、MybatisPlus初体验 MybatisPlus是一个基于mybatis的开源orm框架&#xff0c;其内置的Mapper、Service让开发者仅需简单的配置&#xff0c;就能获得强大的CRUD能力&#xff1b;其强大的条件构造器&#xff0c;可以满足各类需…

PPSSPP (PSP游戏模拟器)最新版安装使用教程

PPSSPP优势 1、目前唯一的也是最好的psp模拟器 可运行绝大多数psp游戏且运行高速&#xff0c;即使是低配手机也能游玩经典大作。 2、支持自定义调节虚拟手柄和实体手柄连接 ppsspp模拟器支持使用虚拟手柄或者连接实体手柄游玩&#xff0c;同时还可以自定义调节按键选项。 …

泄密零容忍!迅软科技打造设计图纸安全防线,助您无忧创作!

对于建筑设计、鞋服设计、动漫设计、平面设计等设计行业而言&#xff0c;海量设计图纸都以电子数据的形式存在企业的终端电脑上&#xff0c;这些图纸蕴含着企业的核心竞争资源&#xff0c;一旦泄露将给企业带来巨大的经济损失。 因此&#xff0c;迅软科技采用了先进的数据加密技…

超声波清洗机器哪个品牌好用?这四款都夸的超声波清洗机

超声波清洗是一种先进的清洗技术&#xff0c;它利用高频振动产生微小气泡来对物体进行清洗。这些微小气泡在物体表面不断振动&#xff0c;使得污垢和油脂被震碎并脱落。这种方法可以有效地去除眼镜上的污垢、油脂和细菌&#xff0c;从而提高眼镜的清洁度。与传统的清洗方法相比…

利用sql语句来统计用户登录数据的实践

目录 1 基本数据情况2 统计每个用户每个月登录次数3 将日期按月显示在列上4 总结 1 基本数据情况 当需要对用户登录情况进行统计时&#xff0c;SQL是一个非常强大的工具。通过SQL&#xff0c;可以轻松地从数据库中提取和汇总数据&#xff0c;并以适合分析和报告的方式进行呈现…