SerialPort.Read 方法 (System.IO.Ports)

您所在的位置:网站首页 recive怎么读的 SerialPort.Read 方法 (System.IO.Ports)

SerialPort.Read 方法 (System.IO.Ports)

#SerialPort.Read 方法 (System.IO.Ports) | 来源: 网络整理| 查看: 265

从 SerialPort 输入缓冲区中读取一些字符,然后将这些字符写入字符数组中指定的偏移量处。

public: int Read(cli::array ^ buffer, int offset, int count); public int Read (char[] buffer, int offset, int count); member this.Read : char[] * int * int -> int Public Function Read (buffer As Char(), offset As Integer, count As Integer) As Integer 参数 buffer Char[]

将输入写入到其中的字符数组。

offset Int32

要写入字符的 buffer 中的偏移量。

count Int32

最多读取的字符数。 如果 count 大于输入缓冲区中的字符数,则读取较少的字符。

返回 Int32

读取的字符数。

例外 ArgumentException

offset 加上 count 大于缓冲区的长度。

- 或 -

count 为 1 并且缓冲区中有一个代理项字符。

ArgumentNullException

传递的 buffer 为 null。

ArgumentOutOfRangeException

offset 或 count 参数超出了所传递的 buffer 的有效区域。 offset 或 count 小于零。

InvalidOperationException

指定的端口未打开。

TimeoutException

没有可以读取的字符。

注解

使用此方法从串行端口读取字符。

如果需要在读取文本和从流中读取二进制数据之间切换,请选择一个协议来仔细定义文本和二进制数据之间的边界,例如手动读取字节和解码数据。

SerialPort由于 类缓冲数据,而 属性中包含的BaseStream流不会缓冲数据,因此两者可能会在有多少字符可供读取时发生冲突。 属性 BytesToRead 可以指示存在要读取的字符,但属性中包含的 BaseStream 流可能无法访问这些字符,因为它们已缓冲到 SerialPort 类。

当读取的字节数等于count时,方法Read不会阻止其他操作,但串行端口上仍有可用的未读字节。

适用于


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3