2024年3月23日发(作者:)

c#串口控制(1)

2008-03-23 16:27

串行口是计算机的标准接口,现在的PC机(个人电脑)一般至少有两个串

行口COM1和COM2。串行口应用广泛,在数据通信、计算机网络以及分布式工业

控制系统中,经常采用串行通信来交换数据和信息。本节通过几个实例,介绍串

口应用的技术和方法。

实例418 通过串口发送数据

实例说明

现 在大多数硬件设备均采用串口技术

与计算机相连,因此串口的应用程序开发越

来越普遍。例如,在计算机没有安装网卡的

情况下,将本机上的一些信息数据传输到另

一台计算机上,那么利用串口通信就可以实

现。运行本程序,在“发送数据”文本框中

输入要传送的数据,单击【发送】按钮,将

传送的数据发送到所选择的端口号 中;单击【接收】按钮,传递的数据被接收

到“接收数据”文本框中。如图13.1所示。

技术要点

在.NET Framework 2.0中提供了SerialPort类,该类主要实现串口数据通

信等。下面主要介绍该类的主要属性(表13.1)和方法(表13.2)。

13.1

SerialPort类的常用属性

名 称 说 明

BaseStream 获取 SerialPort 对象的基础 Stream 对象

BaudRate 获取或设置串行波特率

BreakState 获取或设置中断信号状态

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

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

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

CtsHolding 获取“可以发送”行的状态

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

获取或设置一个值,该值指示 Null 字节在端口和接收缓

DiscardNull

冲区之间传输时是否被忽略

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

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

DtrEnable

就绪 (DTR) 信号

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

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

IsOpen

NewLine

Parity

续表

名 称

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

获取或设置用于解释 ReadLine( )和WriteLine( )方法调

用结束的值

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

说 明

获取或设置一个字节,该字节在发生奇偶校验错

ParityReplace

误时替换数据流中的无效字节

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

PortName

COM 端口

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

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

ReadTimeout

秒数

获取或设置 DataReceived 事件发生前内部输入

ReceivedBytesThreshold

缓冲区中的字节数

获取或设置一个值,该值指示在串行通信中是否

RtsEnable

启用请求发送 (RTS) 信号

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

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

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

WriteTimeout

秒数

13.2

SerialPort类的常用方法

方 法 名 称 说 明

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

Close

部 Stream 对象

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

Read 从 SerialPort 输入缓冲区中读取

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

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

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

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

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

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

注意:用跳线使串口的第2、3针连接,可以在本地计算机上实现串口通信,

所以,通过串口的第2、3针的连接可以对程序进行检测。串口截面图如图13.2

所示。