Ir ao conteúdo
  • Cadastre-se

Arduino cliente.print envia dado corrompido


Posts recomendados

Boa tarde pessoal.

 

Seguinte, estou programando um esp8266 no IDE do Arduino,  para enviar strings via tcp/ip, para um servidor.

 

O problema é, envio:

Cliente.print("$99991130000010¶")

o ultimo caracter é o ¶ paragrafo , só que no servidor chega:

$99991130000010¶

é adicionado o  antes do ¶ do nada !!  e isso afeta a recepção do servidor, não lendo a string.

 

Se eu enviar o ¶ sozinho ele vai normal. 

Cliente.print('¶');

O que pode ser isso..

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Em c "¶" é diferente de '¶'. ... "¶" tem 2 bytes: tem um 0 escondido no fim. Ao passo que '¶' está solitário. Pode te ser um norte. Confira isso no help da sua linguagem.

E tem + ... algumas funções esperam caracteres asc-ii. Este ¶ pode ser complexo d+ pra elas. Veja no help da sua função que tipo de dados ela aceita como argumento.

abç

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

2 horas atrás, Isadora Ferraz disse:

Em c "¶" é diferente de '¶'. ... "¶" tem 2 bytes: tem um 0 escondido no fim. Ao passo que '¶' está solitário. Pode te ser um norte. Confira isso no help da sua linguagem.

E tem + ... algumas funções esperam caracteres asc-ii. Este ¶ pode ser complexo d+ pra elas. Veja no help da sua função que tipo de dados ela aceita como argumento.

abç

Estranho que outros símbolos como $ ou § são enviados normalmente. o help seria da função print do arduino ide?

Link para o comentário
Compartilhar em outros sites

3 minutos atrás, Isadora Ferraz disse:

Pra confirmar minha teoria, coloque $ ou § no fim da cadeia. Qual o asc-ii do ¶? Não achei rapidinho na tabela asc-ii. Se for pra pular linha saiba que é o 13 ou 0x0d.

O help seria de onde veio a função

 

 

ja coloquei e eles são enviados normalmente, não é adicionado o  como se usar o ¶, o asc-ii é 182

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Não vi na tabela. Pode ser um caracter não imprimível (de controle) e seu servidor o interpreta daquela forma. Alternativamente pode tratar o dado no servidor que tende a ter mais recurso que um mc.

Meus chutes se esgotaram. Resta-te avaliar e estudar a função em questão bem como seu argumento e retorno. Aguarde alguém do ramo arduineiro...

Link para o comentário
Compartilhar em outros sites

11 horas atrás, Isadora Ferraz disse:

Não vi na tabela. Pode ser um caracter não imprimível (de controle) e seu servidor o interpreta daquela forma. Alternativamente pode tratar o dado no servidor que tende a ter mais recurso que um mc.

Meus chutes se esgotaram. Resta-te avaliar e estudar a função em questão bem como seu argumento e retorno. Aguarde alguém do ramo arduineiro...

Infelizmente não posso tratar o dado no servidor, pois é um soft que ja está pronto (comercial) não tenho acesso ou como alterar nada.

Mas se fosse um carácter não impimível sozinho ele tambem daria problema, e sozinho ele vai normalmente. 

A função é o print() da arduino ide, não sei como analisar isso.. mas agradeço a atenção..

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Caso precise resolver isso rápido sem esperar alguém do ramo te orientar, a sugestão que dou é

-envie sua cadeia de caracteres sem o dito cujo e na sequência envie o que você já fez '¶'. É o mesmo que enviar o asc-ii 182 dele.... Certeza que o servidor espera receber este caracter? Ou este byte.

 

Dei (dê) uma olhadela nisso pra você

https://www.arduino.cc/en/serial/print

mas pouco posso acrescentar a não ser que aquela função tem 2 argumentos: um é do formato. É 1/2 que outro norte pra você...

Sucessos

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!