Serialport类

Serialport类


2024年1月17日发(作者:)

Serialport类

计算机网络

现在大多数硬件设备均采用串口技术与计算机相连,因此串口的应用程序开发越来越普遍。例如,在计算机没有安装网卡的情况下,将本机上的一些信息数据 传输到另一台计算机上,那么利用串口通信就可以实现。运行本程序,在“发送数据”文本框中输入要传送的数据,单击【发送】按钮,将传送的数据发送到所选择 的端口号中;单击【接收】按钮,传递的数据被接收到“接收数据”文本框中。如图13.1所示。

技术要点

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

公共属性

名称

BaseStream

BaudRate

BreakState

BytesToRead

BytesToWrite

CDHolding

Container

CtsHolding

DataBits

DiscardNull

说明

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

获取或设置串行波特率。

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

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

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

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

获取 IContainer,它包含 Component。(从 Component 继承。)

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

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

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

DsrHolding

DtrEnable

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

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

信号。

Encoding

Handshake

IsOpen

NewLine

Parity

ParityReplace

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

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

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

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

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

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

PortName

ReadBufferSize

ReadTimeout

ReceivedBytesThreshold

RtsEnable

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

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

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

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

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

信号。

Site

StopBits

WriteBufferSize

WriteTimeout

获取或设置 Component 的 ISite。(从 Component 继承。)

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

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

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

受保护的属性

名称

CanRaiseEvents

DesignMode

说明

获取一个指示组件是否可以引发事件的值。(从 Component 继承。)

获取一个值,用以指示 Component 当前是否处于设计模式。(从 Component 继承。)

Events

获取附加到此 Component 的事件处理程序的列表。(从 Component

继承。)

公共方法

名称

Close

说明

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

CreateObjRef

创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。 (从 MarshalByRefObject 继承。)

DiscardInBuffer

DiscardOutBuffer

Dispose

Equals

GetHashCode

丢弃来自串行驱动程序的接收缓冲区的数据。

丢弃来自串行驱动程序的传输缓冲区的数据。

已重载。 释放 SerialPort 对象使用的非托管资源。

已重载。 确定两个 Object 实例是否相等。 (从 Object 继承。)

用作特定类型的哈希函数。GetHashCode 适合在哈希算法和数据结构(如哈希表)中使用。 (从 Object 继承。)

GetLifetimeService

检索控制此实例的生存期策略的当前生存期服务对象。 (从 MarshalByRefObject 继承。)

GetPortNames

GetType

InitializeLifetimeService

Open

Read

ReadByte

ReadChar

ReadExisting

获取当前计算机的串行端口名称数组。

获取当前实例的 Type。 (从 Object 继承。)

获取控制此实例的生存期策略的生存期服务对象。 (从 MarshalByRefObject 继承。)

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

已重载。 从 SerialPort 输入缓冲区中读取。

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

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

在编码的基础上,读取 SerialPort 对象的流和输入缓冲区中所有立即可用的字节。

ReadLine

ReadTo

ReferenceEquals

ToString

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

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

确定指定的 Object 实例是否是相同的实例。 (从 Object 继承。)

返回包含 Component 的名称的 String(如果有)。不应重写此方法。

(从 Component 继承。)

Write

WriteLine

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

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

受保护的方法

名称

Dispose

Finalize

说明

已重载。 已重写。 释放 SerialPort 对象使用的非托管资源。

在通过垃圾回收将 Component 回收之前,释放非托管资源并执行其他清理操作。 (从 Component 继承。)

GetService

返回一个对象,该对象表示由 Component 或它的 Container 提供的服务。 (从 Component 继承。)

MemberwiseClone

已重载。 (从 MarshalByRefObject 继承。)

公共事件

名称

DataReceived

Disposed

说明

表示将处理 SerialPort 对象的数据接收事件的方法。

添加事件处理程序以侦听组件上的 Disposed 事件。(从 Component

继承。)

ErrorReceived

PinChanged

表示处理 SerialPort 对象的错误事件的方法。

表示将处理 SerialPort 对象的串行管脚更改事件的方法。

实现过程

(1)新建一个项目,命名为Ex13_01,默认窗体为Form1。

(2)在Form1窗体中,主要添加两个Button控件,分别用于执行发送数据和接受数据,添加两个TextBox控件,用于输入发送数据和显示接收数据。

(3)主要程序代码。

private void button1_Click(object sender, EventArgs e)

{

me = "COM1";

te = 9600;

();

byte[] data = es();

string str = 64String(data);

ine(str);

("数据发送成功!","系统提示");

}

private void button2_Click(object sender, EventArgs e)

{

byte[] data = se64String(ne());

= ing(data);

();

("数据接收成功!","系统提示");

}


发布者:admin,转转请注明出处:http://www.yc00.com/news/1705469218a1410856.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信