C#串口通信-串口相关参数介绍

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

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

目录

串口相关参数介绍

1、端口(COM口)

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

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

2、波特率(BaudRate)

波特率是一个电子信号上的术语,用于描述信道的数据传输速度。单位是bit/s,常见的9600波特率表示每秒传输9600个比特位,1个字节8位,9600/8=1200,代表每秒钟串口可传输1200个字节(不考虑起始位、停止位、校验位的情况下)。

注意:

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

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、缓存区

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

  • 发送缓存区:(软件)发送数据时将数据先存在发送缓存区,再通过(硬件)串口发送出去;
  • 接收缓存区:接收数据时先将数据存在接收缓存区,(软件)再从中读取数据;
相关推荐
笨笨饿11 分钟前
#60_# 一、Photoshop 2025 如何批量导出 PSD 文件中的所有图层为独立 PNG 图片
stm32·单片机·嵌入式硬件·物联网·ui·51单片机·photoshop
OxYGC15 分钟前
[工程] PHP2Shell 漏洞解析:两条 PHP 内核 RCE,为什么应用层的防护全部失效
android·开发语言·php
小徐不徐说18 分钟前
数据库存储基础:理解表结构、主键、事务与 BLOB
开发语言·数据库·c++·qt·程序设计
草莓熊Lotso31 分钟前
【C++ 基于微服务的即时通讯系统】网关基建:cpp-httplib 与 WebSocketpp 从入门到实战
linux·开发语言·数据库·c++·redis·微服务·云原生
李纲明33 分钟前
WordPress 媒体库上传失败或一直转圈:先核 PHP 上传限制与目录权限,再查安全插件与对象存储
运维·开发语言·安全·php·wordpress·媒体库·devdiy
吃一碗粉只付一碗钱9 小时前
12-给SPA友好的401和403响应
c#·状态模式
第九序言T9 小时前
Python 数据处理进阶(十八)批量处理同结构文件:一个文件夹一次跑完
开发语言·python·自动化·pandas·数据处理
钱工的门窗技术笔记10 小时前
室内极窄全景移门的支承路径与预留接口:轨道形式、型材壁厚口径与验收边界
物联网·架构·数据分析
Binovate缤江数智10 小时前
水泵远程开关之后,还需要管什么?数智开关在无人值守泵站中的监测、保护与能耗分析
人工智能·物联网
龙亘川10 小时前
构建城市公共安全数字底座:亘川智城智慧安防系统全维度解读
java·大数据·开发语言·人工智能·信息可视化