SerialPort.Read Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Lê no buffer de entrada do SerialPort.
Sobrecargas
Read(Byte[], Int32, Int32) |
Lê um número de bytes por meio do buffer de entrada SerialPort e grava esses bytes em uma matriz de bytes no deslocamento especificado. |
Read(Char[], Int32, Int32) |
Lê um número de caracteres do buffer de entrada SerialPort e grava-os em uma matriz de caracteres em um deslocamento especificado. |
Read(Byte[], Int32, Int32)
- Origem:
- SerialPort.cs
- Origem:
- SerialPort.cs
- Origem:
- SerialPort.cs
Lê um número de bytes por meio do buffer de entrada SerialPort e grava esses bytes em uma matriz de bytes no deslocamento especificado.
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[]
A matriz de bytes na qual a entrada será gravada.
- offset
- Int32
O deslocamento em buffer
no qual os bytes são gravados.
- count
- Int32
O número máximo de bytes a serem lidos. Um número menor de bytes será lido se count
for maior que o número de caracteres no buffer de entrada.
Retornos
O número de bytes lidos.
Exceções
O buffer passado é null
.
A porta especificada não está aberta.
Os parâmetros offset
ou count
estão fora de uma região válida do buffer
que está sendo passado. offset
ou count
é menor que zero.
A soma de offset
e count
é maior que o tamanho do buffer
.
Nenhum byte estava disponível para leitura.
Comentários
Se for necessário alternar entre a leitura de texto e a leitura de dados binários do fluxo, selecione um protocolo que defina cuidadosamente o limite entre o texto e os dados binários, como ler manualmente bytes e decodificar os dados.
Como a SerialPort classe armazena dados em buffer e o fluxo contido na propriedade não, os dois podem entrar em BaseStream conflito sobre quantos bytes estão disponíveis para leitura. A BytesToRead propriedade pode indicar que há bytes a serem lidos, mas esses bytes podem não estar acessíveis para o fluxo contido na propriedade porque foram armazenados em BaseStream buffer na SerialPort classe .
O Read método não bloqueia outras operações quando o número de bytes lidos count
é igual, mas ainda há bytes não lidos disponíveis na porta serial.
Aplica-se a
Read(Char[], Int32, Int32)
- Origem:
- SerialPort.cs
- Origem:
- SerialPort.cs
- Origem:
- SerialPort.cs
Lê um número de caracteres do buffer de entrada SerialPort e grava-os em uma matriz de caracteres em um deslocamento especificado.
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[]
A matriz de caracteres na qual a entrada será gravada.
- offset
- Int32
O deslocamento em buffer
no qual os caracteres devem ser gravados.
- count
- Int32
O número máximo de caracteres a serem lidos. Um número menor de caracteres será lido se count
for maior que o número de caracteres no buffer de entrada.
Retornos
O número de caracteres lidos.
Exceções
A soma de offset
e count
é maior que o tamanho do buffer.
- ou -
count
é 1, e há um caractere alternativo no buffer.
O buffer
passado é null
.
Os parâmetros offset
ou count
estão fora de uma região válida do buffer
que está sendo passado. offset
ou count
é menor que zero.
A porta especificada não está aberta.
Nenhum caractere estava disponível para leitura.
Comentários
Use esse método para ler caracteres da porta serial.
Se for necessário alternar entre a leitura de texto e a leitura de dados binários do fluxo, selecione um protocolo que defina cuidadosamente o limite entre o texto e os dados binários, como ler manualmente bytes e decodificar os dados.
Como a SerialPort classe armazena dados em buffer e o fluxo contido na propriedade não, os dois podem entrar em BaseStream conflito sobre quantos caracteres estão disponíveis para leitura. A BytesToRead propriedade pode indicar que há caracteres a serem lidos, mas esses caracteres podem não estar acessíveis para o fluxo contido na propriedade porque foram armazenados em BaseStream buffer na SerialPort classe .
O Read método não bloqueia outras operações quando o número de bytes lidos count
é igual, mas ainda há bytes não lidos disponíveis na porta serial.