Ir ao conteúdo
  • Cadastre-se

Arduino 1 serial.print com 2 valores diferentes na mesma linha


Posts recomendados

Prezados,

 

Vejam o print, este trecho está em Void RfidRead. Estou lendo 2 dados dentro de um rfid, um dado chamo de NOME e outro de VALOR, cada qual está na sua determinada posição dentro do rfid. Se lá em baixo na seta cinza eu deixar como buffer1 leio na serial o valor NOME. Se eu trocar e pôr buffer2 leio o VALOR. Se eu copiar e colar toda a instrução FOR e pôr uma segunda ali onde tem a barra preta e deixar a primeira como buffer1 e a debaixo como buffer2 vejo os dois valores na serial NOME e VALOR, porém os vejo um numa linha e outro na linha de baixo. Preciso que os dois fiquem na mesma linha e separados por vírgula. Assim: NOME, VALOR

 

Se eu coloco um Serial.print(",") aparecem 16 vírgulas (tamanho do buffer). Assim: ,N,O,M,E, , , , , , , , 

 

Como tem que ficar pra ver na serial os dois campos na mesma linha separado por vírgula ?

Alguém sabe ?

 

 

 

 

ErroRfid.jpg

Link para o comentário
Compartilhar em outros sites

Eu consegui resolver a questão assim:

Serial.print(char(buffer1[0]));Serial.print(char(buffer1[1]));Serial.print(char(buffer1[2]));Serial.print(char(buffer1[3]));Serial.print(char(buffer1[4]));Serial.print(char(buffer1[5]));Serial.print(char(buffer1[6]));Serial.print(char(buffer1[7]));Serial.print(char(buffer1[8]));Serial.print(char(buffer1[9]));Serial.print(char(buffer1[10]));Serial.print(char(buffer1[11]));Serial.print(char(buffer1[12]));Serial.print(char(buffer1[13]));Serial.print(char(buffer1[14]));Serial.print(char(buffer1[15]));Serial.print(",");

 

Ou seja, fui lendo na serial cada buffer de 0 a 15. Fiz isso para o primeiro termo e também para o segundo trocando apenas o buffer1 pelo buffer2.

 

Mas deve ter algum jeito de abreviar este comando, tipo ir de Serial.print(char(buffer1[0]) até buffer1[15] sem precisar repetir tudo.

 

Alguém sabe ?

 

OBS: Este fórum aqui é meio abandonado, poucos movimentam eles, muitas visualizações porém poucas respostas. Tá certo que nem tudo é fácil para a maioria, mas os fóruns assim vão perdendo o 'entusiasmo' (apenas opinião)

 

 

Link para o comentário
Compartilhar em outros sites

Em 21/04/2021 às 10:20, eletron1791 disse:

OBS: Este fórum aqui é meio abandonado, poucos movimentam eles, muitas visualizações porém poucas respostas. Tá certo que nem tudo é fácil para a maioria, mas os fóruns assim vão perdendo o 'entusiasmo' (apenas opinião)

 

Infelizmente existem variações da linguagem C, e vários compiladores diferentes.

 

Nem todos dominam a linguagem em questão, então realmente tem de esperar um pouco até alguém poder responder.

 

Eu, por exemplo, domino Asm e Basic, nem sei do que vcs estão falando neste tópico ....

 

Como sugestão, muitos dos que estão aqui para ajudar são ( ou foram ) profissionais, e todos preferem ver o programa em linhas, formatado, do que em uma imagem. E se vier acompanhado de um hardware onde o programa roda, especificando qual o microcontrolador, clock, essas coisas, ajuda muito a gente.

 

Da maneira que foi postado, sem informar nada, e apenas uma foto, parece aquelas questões teóricas de sala de aula, e não uma questão sobre prática real.

 

De qualquer maneira, concordo com você em uma coisa : desde que retiraram este Fórum de dentro do Fórum de Eletrônica, como sempre foi durante mais de 10 anos, a turma tem muito mais dificuldade de encontrar esta área .....  e o movimento caiu bastante.

 

Não dá para dizer que um Fórum sobre Microcontroladores não pertence à área de Eletrônica......  enfim como tudo na vida existem as pessoas que fazem as regras, e as pessoas que obedecem....  

 

Paulo

Link para o comentário
Compartilhar em outros sites

Não tenho aqui 

Em 20/04/2021 às 17:34, eletron1791 disse:

Se eu coloco um Serial.print(",") aparecem 16 vírgulas (tamanho do buffer). Assim: ,N,O,M,E, , , , , , , , 

Por um acaso você não tinha colocado o Serial.print(",") dentro do for?
Só coloca ele logo no fim, depois de fechar a chave do for...

Link para o comentário
Compartilhar em outros sites

Fiz de vários jeito e só consegui assim, campo por campo, buffer por buffer:

 

Serial.print(char(buffer2[1]));Serial.print(char(buffer2[2]));Serial.print(char(buffer2[3]));Serial.print(char(buffer2[4]));Serial.print(char(buffer2[5]));Serial.print(char(buffer2[6]));Serial.print(char(buffer2[7]));Serial.print(char(buffer2[8]));Serial.print(char(buffer2[9]));Serial.print(char(buffer2[10]));Serial.print(char(buffer2[11]));Serial.print(char(buffer2[12]));Serial.print(char(buffer2[13]));Serial.print(char(buffer2[14]));Serial.print(char(buffer2[15]));Serial.print(",");

 

Agradeço os comentários. Já havia encerrado o projeto que continha esta dificuldade.
  

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...