【c#串口通信(2)】串口相关参数介绍

news2024/9/23 5:16:42

1、端口号(Port)

我们使用一个串口的时候,首先是要打开这个串口,那么我们怎么知道电脑上现在支持几个串口呢?对应的端口号又是什么呢?
由于我的电脑系统是window11,下面就以window11为例介绍如何查看电脑上现在有几个串口(windows7、window10类似)
第1步、在电脑桌面上,右击“此电脑”,或者“计算机”,或者“我的电脑”,点击鼠标右键,在弹出的窗体中找到“属性”,鼠标左键点击“属性”,如下图:
在这里插入图片描述
在这里插入图片描述
第2步、找到“设备管理器”,鼠标左键点击“设备管理器”,如下图:
在这里插入图片描述
在这里插入图片描述

第3步、鼠标左键点击“端口”,如下图:
在这里插入图片描述
我这里有两个虚拟串口,因为我用的笔记本电脑,笔记本电脑一般是没有自带的串口的,所以我用虚拟串口软件虚拟了一对串口,通过虚拟串口工具就能解决本身的电脑没有串口的问题,关于虚拟串口的使用,请点击我的专栏的这篇文章:如何使用虚拟串口工具,如果是工控机的话,能直接看到COM1这种。所以通过这种方式,我们找到了电脑的支持的串口,后面我们才能使用软件打开相应的串口,当然我也会在专栏的这篇文章介绍如何通过程序自动寻找电脑现在支持的串口,请点击专栏的这篇文章:如何通过程序自动寻找电脑的串口

2、波特率

波特率比较常见的9600,它的单位是bit/s,代表的是每秒中传递9600个bit,一个bit也成为了1位,以后的文章中都叫位,对应的就是计算中的高、低电平,高电平代表的就是值1,低电平代表的就是0,一个bit它的值可能是1,也可能是0。并且这里要引入一个字节的概念,因为串口通信中我们和字节打交道是最多的,那么我们要记着字节和位的关系,一个字节是有8位,一般从左边是最高位,右边是最低位,所以9600bit/s对应的传输效率大概是9600/8=1200个字节,代表串口每秒钟能传输1200个字节,当然这里我用的是大概1200个字节,因为这里我没有考虑停止位、开始位、校验位,知道是大概等于就好。关于波特率要记住以下几点:
1)波特率代表是串口传输数据的能力,波特率越高传输数据越高,但是波特率不是越高越好,太高的话会出现传输数据不稳定的问题,所以一般使用9600的居多。
2)发送方和接收方的波特率必须保持一致,否则就会出现发出去的数据和接收的数据不一致的情况。

3、起始位

在c#开发中,不需要设置起始位

4、数据位

一般情况下数据位有7位、8位两种,使用最多的是8位,除非设备指定数据位为7位,否则我们在软件开发中默认该值就是8

4、停止位

在c#开发中,使用StopBits这个枚举类型来设置停止位,如下图:可以看出停止位有0、1、1.5、2四种,使用最多的是1,除非设备指定,否则我们在软件开发中默认该值就是1,对应的在代码中设置为StopBits.One
在这里插入图片描述

5、校验位

在c#开发中,使用Parity这个枚举类型来设置校验位,如下图:当前一共有五种,None就是无校验,Odd是奇校验,Even是偶校验,在日常开发中使用最多的是None、Odd、Even,并且如果没有特殊要求,比如我们自己平时在测试的过程中使用Node无校验即可。
在这里插入图片描述

6、发送缓冲区

串口使用时一般包含两个缓冲区,发送缓冲区和接收缓冲区,对于发送缓冲区。发送数据时,先将数据存在发送缓冲区,然后通过串口发送,相当于我们软件所做的工作是把数据发送到发送缓冲区,然后硬件自己把缓冲区的数据发出去。

7、接收缓冲区

串口使用时一般包含两个缓冲区,发送缓冲区和接收缓冲区,对于接收缓冲区,接收数据时,先将接收的数据存在接收缓冲区,然后再进行读取,我们软件做的也是从接收缓冲区中读取数据。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

部分国产水文水动力模型介绍

一、HydroMPM模型 1、模型介绍 2016年度自立项目HydroMPM系统开发与集成完成的洪水分析模拟软件等成果经权威专家鉴定整体达到国际领先水平,HydroMPM_FloodRisk入选国家防总《全国重点地区洪水风险图编制项目可选软件名录》。成果应用项目100余项,累计…

spring自定义命名空间

命名空间 如果你曾经在配置datasource是用过properties文件储存我们的数据库连接信息&#xff0c;那么一定在xml文件中配置过这样的语句。 <context:property-placeholder location"classpath:jdbc.properties"/>而我们的spring当中很明显是没有这个context的…

【git】git的一些基础操作

文章目录一.git下载二.git初次操作1.生成公钥2.修改全局用户名和邮箱地址&#xff1a;3.本地仓库关联远端仓库4.本地初始化5.将项目上所有的文件添加到本地仓库6.提交到本地仓库7.创建main分支8.推送到main分支三.git其他操作1.develop分支2.查看分支3.切换分支4.查看分支历史一…

python wannier90 基于wannier90的*_hr.dat文件选取截断hopping绘制能带图

我们知道wannier90可以根据选取TMDs的轨道信息生成详细的hopping energy *_hr.dat文件&#xff0c;选取所有的hopping绘制起来的时候比较简单&#xff0c;但是我们发现取几圈的近似hopping也可以将band表示出来&#xff0c;类似的思想有Pybinding的三带近似&#xff08;DOI: 10…

区块链技术在软件开发中的应用

如果你是一名软件开发者或者IT从业者&#xff0c;你一定已经听说过区块链技术。区块链是一种基于密码学的分布式账本技术&#xff0c;被广泛应用于数字货币、金融、物联网等领域。但是&#xff0c;除了这些领域之外&#xff0c;区块链技术还可以在软件开发中发挥重要作用。本文…

CLIP 论文解读

文章目录模型训练推理实验与Visual N-Grams 相比较分布Shift的鲁棒性不足参考现有的计算机视觉系统用来预测一组固定的预订对象类别&#xff0c;比如ImageNet数据集有1000类&#xff0c;CoCo数据集有80类。这种受限的监督形式限制了模型的通用性和可用性。使用这种方法训练好的…

《花雕学AI》02:人工智能挺麻利,十分钟就为我写了一篇长长的故事

ChatGPT最近火爆全网&#xff0c;上线短短两个多月&#xff0c;活跃用户就过亿了&#xff0c;刷新了历史最火应用记录&#xff0c;网上几乎每天也都是ChatGPT各种消息。国内用户由于无法直接访问ChatGPT&#xff0c;所以大部分用户都无缘体验。不过呢&#xff0c;前段时间微软正…

Nginx实现会话保持,集群模式下session域共享

前言 生产环境下&#xff0c;多数系统为了应对线上多种复杂情况而进行了集群架构的部署&#xff0c;保证系统的高性能、价格有效性、可伸缩性、高可用性等。通常将生产环境下的域名指向Nginx服务&#xff0c;通过它做HTTP协议的Web负载均衡。 session是什么 在计算机中&…

13.广度优先搜索

一、算法内容 1.简介 广度优先搜索BFS&#xff08;Breadth First Search&#xff09;按照广度优先的方式进行搜索&#xff0c;可以理解为“尝试所有下一步可能”地穷举所有可行的方案&#xff0c;并不断尝试&#xff0c;直到找到一种情况满足问题问题的要求。 BFS从起点开始…

C语言——学生信息管理系统(数组)

文章目录一、前言二、目的三、框架1.菜单1.1主菜单1.2子菜单2.流程图2.1总流程图2.2开始流程图2.3增加学生信息流程图2.4.删除学生信息流程图2.5修改学生信息流程图2.6查询学生信息流程图2.7对学生信息排序流程图3.思路四、代码五、演示视频一、前言 因为最近是在赶进度总结&a…

无人驾驶--工控机安装autoware

时隔好久&#xff0c;又来写文章了&#xff0c;这次有高人指点&#xff0c;要系统的学习一下无人驾驶了。 使用的是易咖的底盘车&#xff0c;工控机是米文动力Apex Xavier II&#xff0c;基于autoware框架 首先是在工控机上安装autoware&#xff0c;工控是ubuntu18环境。 参…

Python入门教程+项目实战-9.2节: 字符串的操作符

目录 9.2.1 字符串常用操作符 9.2.2 操作符&#xff1a;拼接字符串 9.2.3 *操作符&#xff1a;字符串的乘法 9.2.4 []操作符&#xff1a;索引访问 9.2.5 [:]操作符&#xff1a;分片字符串 9.2.6 in操作符&#xff1a;查找子串 9.2.7 %操作符&#xff1a;格式化字符串 9…

为什么要做软件测试

随着信息技术的发展和普及&#xff0c;人们对软件的使用越来越普及。但是在软件的使用过程中&#xff0c;软件的效果却不尽如人意。为了确保软件的质量&#xff0c;整个软件业界已经逐渐意识到测试的重要性&#xff0c;软件测试已经成为IT 领域的黄金行业。本篇文章将会带领大家…

使用Tensorboard多超参数随机搜索训练

文章目录1超参数训练代码2远端电脑启动tensorboard完整代码位置https://gitee.com/chuge325/base_machinelearning.git 这里还参考了tensorflow的官方文档 但是由于是pytorch训练的差别还是比较大的&#xff0c;经过多次尝试完成了训练 硬件是两张v100 1超参数训练代码 这个…

Android Studio升级Gradle Plugin升级导致项目运行失败问题

背景&错误 升级Android Studio 旧项目无法运行&#xff0c;奇奇怪怪什么错误都有 例如&#xff1a; java.lang.IllegalAccessError: class org.gradle.api.internal.tasks.compile.processing.AggregatingProcessingStrategy (in unnamed module 0x390ea9fb) cannot acce…

传智健康-day2

一.需求分析(预约管理功能开发) 预约管理功能&#xff0c;包括检查项管理、检查组管理、体检套餐管理、预约设置等、预约管理属于系统的基础功能&#xff0c;主要就是管理一些体检的基础数据。 检查组是检查项的集合 二.基础环境搭建 1导入预约管理模块数据表 需要用到的…

Ubuntu安装MySQL及常用操作

一、安装MySQL 使用以下命令即可进行mysql安装&#xff0c;注意安装前先更新一下软件源以获得最新版本&#xff1a; sudo apt-get update #更新软件源 sudo apt-get install mysql-server #安装mysql 上述命令会安装以下包&#xff1a; apparmor mysql-client-5.7 mysql-c…

不定期更新:我对 ChatGPT 进行多方位了解后的报告,超级全面,建议想了解的朋友看看

优质介绍视频&#xff1a; GPT4前端【AI编程新纪元】 【渐构】万字科普GPT4为何会颠覆现有工作流&#xff1b;为何你要关注微软Copilot、文心一言等大模型 此文章不定期更新&#xff08;一周应该会更新一次&#xff09; 最近一次更新&#xff1a;2023.4.16 12:00 ChatGPT 是什…

零基础搭建私人影音媒体平台【远程访问Jellyfin播放器】

文章目录1. 前言2. Jellyfin服务网站搭建2.1. Jellyfin下载和安装2.2. Jellyfin网页测试3.本地网页发布3.1 cpolar的安装和注册3.2 Cpolar云端设置3.3 Cpolar本地设置4.公网访问测试5. 结语1. 前言 随着移动智能设备的普及&#xff0c;各种各样的使用需求也被开发出来&#xf…

关于加强供水企业营销管理的几点思考

供水营销部门是供水企业最重要的职能部门之一&#xff0c;其工作职能直接与供水企业的经济利益和社会效益息息相关&#xff0c;具体来说&#xff0c;主要涉及到五个方面的指标内容&#xff1a;水费回收率、 水量漏损率&#xff08;产销差率&#xff09;、水表完好率、水价调整及…