Boa Tarde

seguinte, eu estou com meu código, querendo pegar uma string via serial. e no final, imprimir a mesma, pra dps poder fazer alguma comparação ou coisa do tipo.

porem, quando eu dou o print. ele imprime conforme o array está sendo preenchido. ficando tipo

t

te

tes

test

teste

como eu faço para ele dar print do array somente quando ele estiver completo? Sei que eh algo basico demais, mais não consigo colocar pra funcionar isso

void setup() {
// Roda 1 vez só
Serial.begin(9600);
}

char inData[20]; // Allocate some space for the string
char inChar; // Where to store the character read
byte index = 0; // Index into array; where to store the character

void loop()
{
while(Serial.available() > 0) // Don't read unless
// there you know there is data
{
if(index < 19) // One less than the size of the array
{
inChar = Serial.read(); // Read a character
inData[index] = inChar; // Store it
index++; // Increment where to write next
inData[index] = '\0'; // Null terminate the string

}
Serial.println(inData);
}

}

Exibições: 386

Responder esta

Respostas a este tópico

Vc precisaria de um delimitador, algo que avise que chegou todo seu dado...

Poderia ser uma quantidade de bytes ou um enter.

Ficaria algo com:

if (index== 10) Serial.println(inData); // se chegarem 10 caracteres

if (inChar== '\n') Serial.println(inData); // Se pressionado enter.

bom, no caso eu colocaria esse if no lugar do meu println atual correto?

porem, se eu fizer isso, ele acaba não mostrando o que eu escrevi

Vc quer um eco de cada caracter digitado mas só interpretar o comando quando digitar enter ?? 

Se for vc precisa imprimir o q foi digitado (inChar) e se isso for um enter fazer os testes comparando inData com as possibilidades. 

Sugestão: comece imprimindo um "Comando=..."

Na verdade pra ficar certo tive que mudar para a opção new line na janela do arduino! Ai resolveu meu problema. Aquela opçao peto do baunds. Provavelmente foi isso que aconteceu da outra vez. Pois eu ja tinha testado esse comando de pegar o \n. E tb nao tinha funcionado

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço