Compartir a través de


SerialPort.Read Método

Definición

Lee datos del búfer de entrada de SerialPort.

Sobrecargas

Read(Byte[], Int32, Int32)

Lee varios bytes del búfer de entrada de SerialPort y los escribe en una matriz de bytes en la posición de desplazamiento especificada.

Read(Char[], Int32, Int32)

Lee un número de caracteres del búfer de entrada de SerialPort y los escribe en una matriz de caracteres en la posición de desplazamiento especificada.

Read(Byte[], Int32, Int32)

Source:
SerialPort.cs
Source:
SerialPort.cs
Source:
SerialPort.cs

Lee varios bytes del búfer de entrada de SerialPort y los escribe en una matriz de bytes en la posición de desplazamiento especificada.

public:
 int Read(cli::array <System::Byte> ^ buffer, int offset, int count);
public int Read (byte[] buffer, int offset, int count);
member this.Read : byte[] * int * int -> int
Public Function Read (buffer As Byte(), offset As Integer, count As Integer) As Integer

Parámetros

buffer
Byte[]

Matriz de bytes en la que se va a escribir la entrada.

offset
Int32

Desplazamiento en buffer en el que se escriben los bytes.

count
Int32

Número máximo de bytes que se pueden leer. Se leen menos bytes si count es mayor que el número de bytes en el búfer de entrada.

Devoluciones

El número de bytes leídos.

Excepciones

El búfer pasado es null.

El puerto especificado no está abierto.

Los parámetros offset o count están fuera de una región válida del buffer que se pasa. offset o count es menor que cero.

La suma de offset y count es mayor que la longitud de buffer.

No había ningún byte disponible para la lectura.

Comentarios

Si es necesario cambiar entre leer texto y leer datos binarios de la secuencia, seleccione un protocolo que defina cuidadosamente el límite entre texto y datos binarios, como leer manualmente bytes y descodificar los datos.

Dado que la SerialPort clase almacena en búfer los datos y la secuencia contenida en la BaseStream propiedad no, los dos podrían entrar en conflicto sobre cuántos bytes están disponibles para leerse. La BytesToRead propiedad puede indicar que hay bytes para leer, pero es posible que estos bytes no sean accesibles para la secuencia contenida en la BaseStream propiedad porque se han almacenado en búfer en la SerialPort clase .

El Read método no bloquea otras operaciones cuando el número de bytes de lectura es igual a, pero todavía hay bytes no leídos count disponibles en el puerto serie.

Se aplica a

Read(Char[], Int32, Int32)

Source:
SerialPort.cs
Source:
SerialPort.cs
Source:
SerialPort.cs

Lee un número de caracteres del búfer de entrada de SerialPort y los escribe en una matriz de caracteres en la posición de desplazamiento especificada.

public:
 int Read(cli::array <char> ^ 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

Parámetros

buffer
Char[]

Matriz de caracteres en la que se va a escribir la entrada.

offset
Int32

Desplazamiento en buffer en el que se escriben los caracteres.

count
Int32

Número máximo de caracteres que se van a leer. Se leen menos caracteres si count es mayor que el número de caracteres en el búfer de entrada.

Devoluciones

Número de caracteres que se han leído.

Excepciones

La suma de offset y count es mayor que la longitud del búfer.

o bien

count es 1 y hay un carácter suplente en el búfer.

El valor de buffer pasado es null.

Los parámetros offset o count están fuera de una región válida del buffer que se pasa. offset o count es menor que cero.

El puerto especificado no está abierto.

No había ningún carácter disponible para la lectura.

Comentarios

Use este método para leer caracteres desde el puerto serie.

Si es necesario cambiar entre leer texto y leer datos binarios de la secuencia, seleccione un protocolo que defina cuidadosamente el límite entre texto y datos binarios, como leer manualmente bytes y descodificar los datos.

Dado que la SerialPort clase almacena en búfer los datos y la secuencia contenida en la BaseStream propiedad no, los dos podrían entrar en conflicto sobre cuántos caracteres están disponibles para leerse. La BytesToRead propiedad puede indicar que hay caracteres que se van a leer, pero es posible que estos caracteres no sean accesibles para la secuencia contenida en la BaseStream propiedad porque se han almacenado en búfer en la SerialPort clase .

El Read método no bloquea otras operaciones cuando el número de bytes de lectura es igual a, pero todavía hay bytes no leídos count disponibles en el puerto serie.

Se aplica a