SerialPort.Read 方法 (System.IO.Ports) |
您所在的位置:网站首页 › recive怎么读的 › SerialPort.Read 方法 (System.IO.Ports) |
从 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读取的字符数。 例外 ArgumentExceptionoffset 加上 count 大于缓冲区的长度。 - 或 - count 为 1 并且缓冲区中有一个代理项字符。 ArgumentNullException传递的 buffer 为 null。 ArgumentOutOfRangeExceptionoffset 或 count 参数超出了所传递的 buffer 的有效区域。 offset 或 count 小于零。 InvalidOperationException指定的端口未打开。 TimeoutException没有可以读取的字符。 注解使用此方法从串行端口读取字符。 如果需要在读取文本和从流中读取二进制数据之间切换,请选择一个协议来仔细定义文本和二进制数据之间的边界,例如手动读取字节和解码数据。 SerialPort由于 类缓冲数据,而 属性中包含的BaseStream流不会缓冲数据,因此两者可能会在有多少字符可供读取时发生冲突。 属性 BytesToRead 可以指示存在要读取的字符,但属性中包含的 BaseStream 流可能无法访问这些字符,因为它们已缓冲到 SerialPort 类。 当读取的字节数等于count时,方法Read不会阻止其他操作,但串行端口上仍有可用的未读字节。 适用于 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |