(52) C# 串口通讯

Posted buchizaodian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(52) C# 串口通讯相关的知识,希望对你有一定的参考价值。

 

一、串口通讯基本参数

1.波特率:每秒传输n个多少个二进制位。

例如 9600 b/s  = 1200 B/s=  1.172KB/S

 

2.传输数据格式

数据格式由起始位(start bit)、数据位(data bit)、奇偶校验位(parity bit)和停止位(stop bit)组成

在串行通信的信号线路上,共有两种状态,分别用逻辑1(高电平)和逻辑0(低电平)来区分。在发送器空闲时,数据线应该保持在逻辑1高电平状态。

(1)起始位:

起始位必须是持续一个比特时间的逻辑0(低电平),使数据线处于逻辑0低电平状态,提示接收器数据传输即将开始,即标志传输一个字符的开始。发送器通过发送起始位而开始一个字符传送,接收方可用起始位使自己的接收时钟与发送方的数据同步。

(2) 数据位:

数据位紧跟在起始位之后,是通信中的真正有效信息。数据位的位数由通信双方共同约定,一般可以是6位、7位或8位,比如标准的ASCII码是0~127(7位),扩展的ASCII码是0~255(8位)。传输数据时先传送字符的低位,后传送字符的高位,即低位(LSB)在前,高位(MSB)在后

(3)奇偶校验位:

校验位一般用来判断接收的数据位有无错误,一般采用奇偶校验.

假设传输的数据位为01001100,如果是奇校验,则奇校验位为0(要确保总共有奇数个1);如果是偶校验,则偶校验位为1(要确保总共有偶数个1)

奇偶校验位仅是对数据进行简单的置逻辑高位或逻辑低位,不会对数据进行实质的判断,好处是接收设备能够知道一个位的状态变化,从而判断是否有噪声干扰了通信以及传输的数据是否同步

奇偶检验位不是必须有的

(4)停止位:

这里要提到一个概念,单位时长;指的是此波特率下发送一次所需要的时间,例如 9600波特率理论上发送一个包需要 1/9600秒。

停止位在数据格式的最后,用以标志一个字符传送的结束,对应于逻辑1(高电平)状态。停止位可以是1位、1.5位或2位,可以由软件设定。但它一定是逻辑1高电平,标志着传输一个字符的结束

 

二、常用串口通讯协议

1.RS-232

2.RS-422

3.RS-485

 

以上是关于(52) C# 串口通讯的主要内容,如果未能解决你的问题,请参考以下文章

C#串口通讯

C#上位机开发一:串口通讯之如何制作一个串口调试助手

C#中的串口通信SerialPort

c#如何串口通信连接三菱plc?

(高分求助)怎么用C#语言实现串口通讯,需要程序,急!

使用C#实现串口通讯,接受和控制单片机。