Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Kotch

receber dados pela porta serial

Recommended Posts

Ola pessoal, sou aprendiz de c# e peguei alguns exemplos de comunicação pela porta serial mas estou com uma dificuldade em receber e tratar estes dados.

 

private void DisplayText(object sender, EventArgs e)
{
Recebido = Recebido + (RxString);
tboxRx.Text = Recebido;
textBox2.Text = Convert.ToString(tboxRx.Text.Length); // CONFIRMAÇÃO DO TAMANHO RECEBIDO = 48

ERRO -------> txtbox_eIn.Text = tboxRx.Text.Substring(2, 3);
txtbox_eOut.Text = tboxRx.Text.Substring(7, 3); }

// COLOCA NA VARIAVEL RxString o dado recebido pela serial
private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
RxString = serialPort5.ReadExisting();
this.Invoke(new EventHandler(DisplayText));
}

este é erro se tento ler mais de uma vez a porta serial:

mas o tamanho do dado é sempre 48 caracteres

 

O índice e o comprimento devem se referir a um local dentro da cadeia de caracteres.
Nome do parâmetro: length

 

Na realidade nem preciso mostrar o dado recebido, só preciso criar sub string.

 

 

Onde esta o erro, alguma ideia ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso significa que você está pegando um tamanho maior do que a palavra, por exemplo se sua palavra é "Céu" então você só pode ir de 0 à 2 e não mais.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok, mas

 

Isso significa que você está pegando um tamanho maior do que a palavra, por exemplo se sua palavra é "Céu" então você só pode ir de 0 à 2 e não mais.

Ok, ok, se voce perceber no codigo, tem uma linha que mede a variavel e o tamanho dela nunca foi superior a 48, portanto não estou pegando nada maior que ela, por isto não entendi a causa do erro.

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você já verificou se isto é verdade? Pode ser que a string seja menor que 48 e menor que 3

 

BINGO!

 

Eu achava que estava vindo somente uma string, mas são duas, uma com tamanho 1 (que é a que dá erro) e outro com tamanho 48.

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.