通讯基础理论 串口通讯

通讯:一般发生在两端或多端,是两端之间的通讯,一端负责发送信息,一端负责接收信息.

C#中的通讯两大块:

  • 串口通讯:有距离限制,速度慢
  • 网络通讯(重要/难):通讯传输距离远,且速度快

通讯协议

通讯的双方要【遵循约定好的数据格式,专业:数据报文,是通讯协议中的数据帧】,双方才能通讯,这些约定的规则,称为通讯协议。

串口通讯协议:串口通讯执行标准。常见的协议:RS232,RS485,Modbus(通用),西门子S7协议等 https://blog.csdn.net/weixin_41442949/article/details/138337602

网络通讯协议:即制定的网络通讯标准。常见的协议:TCP,UDP,HTTP,HTTPS,STMP等。

在网络通讯中,一端称为服务器(Server);另一端称为客户端(Client),可以有多个客户端。 服务器也可以称为主机(Host),客户端也可以称为从机(Slave奴隶)

数据帧格式:

即数据报文(重点,难点)

RS232: https://baike.baidu.com/item/RS-232/2022036

什么是串口

串口英文:serial port 串口通信是一个广泛使用的【数字通信协议】,它用于在两个设备之间通过【专门设计的线路】(称为串行端口)传输数据。串口通信可以使计算机与外部设备进行【可靠地点对点连接】,例如打印机、调制解调器、传感器等。串口通信允许将信息从计算机中发送到其他设备,或者从其他设备中接收信息并传递回计算机。通常情况下,串口通信需要指定一些参数,如【传输速率】、【校验方式】、【数据位数】和【停止位】等来保证传输数据的准确性。

串行端口:也称串行通信接口或COM接口,简称串口。 串口端口按电气标准及协议来划分,包括【RS-232】,RS-232-C、RS-422、【RS485】,USB等

提示: 点对点连接:即端对端连接 Point To Point。E2E:End To End。 P2P PTP E2E COM===>Component组件 串口需要两个设备,一个主机(也叫主站,类似于网络通讯中的服务器),一个从机(也叫从站,类似于网络通讯中客户端)

波特率:传输的速度,单位:每秒比特数(bps),常用的波特率:传输波特率600bps,1200bps,2400bps,4800bps,9600bps,19200bps,38400bps。

串行通讯原理

串行数据传输是通过【单个线路】按【顺序地】发送一个【比特的信息】。与串行相反,还有并行数据传输方式,该方式使用多个少量且同时传输的信道。

比特:指发送的消息的单位,bit,位,按位传递数据。 8bit = 1字节 串行数据:单个线路(一根线,一个信道),按顺序传输(即同步传输) 并行数据:多个信道,可以同时传输(即异步传输)

通信模式

单工模式 半双工模式 全双工模式

https://blog.csdn.net/craftsman2020/article/details/127879721

串口通讯是全双工通讯。

三种通讯方式

  1. 单工

单工通信只支持信号在一个方向上传输(正向或反向),任何时候不能改变信号的传输方向。 为保证正确传送数据信号,接收端要对接收的数据进行校验,若校验出错,则通过监控信道发 送请求重发的信号。 此种方式适用于数据收集系统,如气象数据的收集、电话费的集中计算等。 例如计算机和打印机之间的通信是单工模式,因为只有计算机向打印机传输数据,而没有相反 方向的数据传输。还有在某些通信信道中,如单工无线发送等。

2.半双工

半双工通信允许信号在两个方向上传输,但某一时刻只允许信号在一个信道上单向传输。 因此,半双工通信实际上是一种可切换方向的单工通信。 此种方式适用于问讯、检索、科学计算等数据通信系统; 传统的对讲机使用的就是半双工通信方式。由于对讲机传送及接收使用相同的频率,不允许同 时进行。因此一方讲完后,需设法告知另一方讲话结束(例如讲完后加上’OVER’),另一方 才知道可以开始讲话。

3.全双工

全双工通信允许数据同时在两个方向上传输,即有两个信道,因此允许同时进行双向传输。 全双工通信是两个单工通信方式的结合,要求收发双方都有独立的接收和发送能力。 全双工通信效率高,控制简单,但造价高。 计算机之间的通信是全双工方式。一般的电话、手机也是全双工的系统,因为在讲话时可以听到对方的声音。

串行数据传输方式:同步

串口通讯有两种传递方式:同步(串行),异步(并行)

串口通讯数据格式(重点)

串口通讯数据格式:一个完整的串口数据格式包括起始位、数据位、校验位、停止位几个参数。 起始位(1bit)+ 数据位(8bit)+ 奇偶校验位(1bit)+ 停止位(1bit)组成;

串口通讯数据格式中几个重要的部分: 【波特率】: 波特率表示信息传送的速率,是计算机与外设设备进行通信的重要参数。通俗地说,波特率描述的是单位时间内传输的比特数。波特率一般用“bps”来表示,它的单位为位/秒。串口常用的波特率有9600、115200、38400等,常用于MCU与计算机之间的通信。通信设备使用串口通信时,波特率必须相同,否则会导致数据传输出错。

【数据位数】: 数据位数表示接收和发送的数据字节数。一般情况下,常用的数据位数为7位或8位,而在通常的情况下默认使用8位数据位数。数据位数的选择取决于所传输的数据格式以及传输需要的准确度和速度。

【校验位】: 校验位是为了保证接收到的数据的准确性而设置的一个位。校验位主要有三种方式,分别为奇校验、偶校验和无校验。奇校验是指在数据位数上奇数的传输信息完成后,将其全部加起来,如果结果为奇数则校验位为0,否则为1。偶校验则是将其全部加起来,如果结果为偶数,则校验位为0,否则为1。无校验是指在数据传输后不对数据进行任何的校验位检验。

0000 0001===1 奇数位全部加起来 1 校验0 0000 0010===2 奇数位全部加起来 0 校验1

Even 2设置奇偶校验位,使位数等于偶数。
Mark 3将奇偶校验位保留为1。
None 0不发生奇偶校验检查。
Odd 1设置奇偶校验位,使位数等于奇数。
Space 4将奇偶校验位保留为0。

【停止位】: 停止位指的是数据传输完成后发送器发送的一位信号。其目的是告诉接收器,本次数据传输已经结束。例如,对于8位数据加一位停止位,停止位为1,这样就能够表示出本次的数据传输已经结束。

单位转换

1024位是多少字节?8bit==1byte

8位等于1字节,1024位等于128字节。

总结

属性: PortName 端口,默认COM1 BaudRate 波特率,默认9600 DataBits 数据位,默认8 StopBits 停止位,默认One IsOpen 串口是否已经打开

方法: Open()打开串口 Close()关闭串口 Write()|WirteLine()|WriteTimeout()写数据(发送数据) ReadByte()|ReadChar()|ReadExisting()|ReadLine()|ReadTimeout()|ReadTo()读数据(接收数据)

事件: DataReceived

在工作当中,肯定会连接正式硬件设备,讲课先用模拟器(用来模拟硬件设备的) Virtual Serial Port Driver虚拟串口.exe 虚拟的串口驱动 XCOM V2.0(串口连接).exe 串口工具(百度:串口工具助手会搜索很多的串口工具)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值