c#【1】 串口编程:类名和命名空间是什么?有几个重要参数、并简述?

来源:互联网 发布:招聘淘宝兼职刷手 编辑:程序博客网 时间:2024/04/30 03:48

²  SerialPort类在 .NET Framework 2.0 版中;命名空间:System.IO.Ports

²  几个重要参数

 

SerialPort.BaudRate 属性:获取或设置串行波特率。                   默认值为 9600 比特/每秒 (bps)

注: 波特率,即每秒钟传送的二进制位数,其单位为 bps

                  接收方的接收波特率必须与发送方的发送波特率相同。

                  传送一个字符,包括 12 位(其中有一个起始位, 8 个数据位, 2 个停止位)。1200b/s ,每秒所能传送的字符数是 1200/(1+8+1+2)=100 个。

 

SerialPort.Parity 属性:获取或设置奇偶校验检查协议。   默认为 None

              注:如果在流的尾字节上出现奇偶校验错误,将向输入缓冲区添加一个值为 126 的额外字节.

                     用于串口通信中的简单检错。奇偶校验位主要有:偶校验、奇校验、标记、空格的方式。

/偶校验是通过统计数据中高位或低位的个数来实现校验的。而标记、空格并不真正检测数据,只是通过简单的置位来实现对数据的检测。通过置位方式,可以判断出是否存在噪声干扰数据通信或数据传输,以及接收是否存在不同步的现象。

 

SerialPort.StopBits 属性:获取或设置每个字节的标准停止位数。默认值为 One

注:停止位用于标志该数据包数据结束,可以取1位、1.5位或2位。

停止位不仅仅用于数据包的传输结束标志,还提供了计算机之间校正同步时钟的机会。用于停止位的位数越多,不同时钟同步的容忍程度越大。但是由于停止位占用了数据空间,过多的停止位将导致数据传输速度的下降。

 

SerialPort.DataBits 属性:获取或设置每个字节的标准数据位长度。值范围是从 5 8。默认值为 8

注:设定数据位主要考虑所要传输的数据内容。如果要传输的是标准的ASCII码,由于ASCII码的范围是0127,因此使用7位就可以了。如果要传输的是扩展ASCII码,其范围是0255,必须使用8位。当然,7位或8位数据位中不仅仅是数据,还包括开始/停止位、数据位以及奇偶校验位等。

 

详见:http://baike.baidu.com/view/1746248.htm

 

.NET Framework 2.0中提供了SerialPort类,该类主要实现串口数据通信等。下面主要介绍该类的主要属性(表13.1)和方法(表13.2)。

13.1                                                     SerialPort类的常用属性

名  称

说  明

BaseStream

获取 SerialPort 对象的基础 Stream 对象

BaudRate

获取或设置串行波特率

BreakState

获取或设置中断信号状态

BytesToRead

获取接收缓冲区中数据的字节数

BytesToWrite

获取发送缓冲区中数据的字节数

CDHolding

获取端口的载波检测行的状态

CtsHolding

获取可以发送行的状态

DataBits

获取或设置每个字节的标准数据位长度

DiscardNull

获取或设置一个值,该值指示 Null 字节在端口和接收缓冲区之间传输时是否被忽略

DsrHolding

获取数据设置就绪 (DSR) 信号的状态

DtrEnable

获取或设置一个值,该值在串行通信过程中启用数据终端就绪 (DTR) 信号

Encoding

获取或设置传输前后文本转换的字节编码

Handshake

获取或设置串行端口数据传输的握手协议

IsOpen

获取一个值,该值指示 SerialPort 对象的打开或关闭状态

NewLine

获取或设置用于解释 ReadLine( )WriteLine( )方法调用结束的值

Parity

获取或设置奇偶校验检查协议

续表

名  称

说  明

ParityReplace

获取或设置一个字节,该字节在发生奇偶校验错误时替换数据流中的无效字节

PortName

获取或设置通信端口,包括但不限于所有可用的COM 端口

ReadBufferSize

获取或设置 SerialPort 输入缓冲区的大小

ReadTimeout

获取或设置读取操作未完成时发生超时之前的毫秒数

ReceivedBytesThreshold

获取或设置 DataReceived 事件发生前内部输入缓冲区中的字节数

RtsEnable

获取或设置一个值,该值指示在串行通信中是否启用请求发送 (RTS) 信号

StopBits

获取或设置每个字节的标准停止位数

WriteBufferSize

获取或设置串行端口输出缓冲区的大小

WriteTimeout

获取或设置写入操作未完成时发生超时之前的毫秒数

13.2                                                    SerialPort类的常用方法

方 法 名 称

说  明

Close

关闭端口连接,将 IsOpen 属性设置为False,并释放内部 Stream 对象

Open

打开一个新的串行端口连接

Read

 SerialPort 输入缓冲区中读取

ReadByte

 SerialPort 输入缓冲区中同步读取一个字节

ReadChar

 SerialPort 输入缓冲区中同步读取一个字符

ReadLine

一直读取到输入缓冲区中的 NewLine 

ReadTo

一直读取到输入缓冲区中指定 value 的字符串

Write

已重载。将数据写入串行端口输出缓冲区

WriteLine

将指定的字符串和 NewLine 值写入输出缓冲区

原创粉丝点击