PORRA PARA DE LER A MERDA QUE VEM DA SERIAL!
Hello my friends of this fallacious galaxy!!!
Estava la eu,
"arduinando" sem conhecimento técnico para tal...
Quando derrepente eu não conseguia para de ler os dados que vinham da serial!!!
O que acontece é que quando uso a o terminal de serial que tem la na IDE do arduino eu estava projetando uma espécie de "menu oculto" que quando o usuário daquele protótipo digitar 1 ele entra em uma opção onde ele deve digitar um numero que vai ser armazenado , esse número pode ter 1 ,2 , 3 ou até mesmo mais algarismos, e após a leitura dos dígitos ele deve sair do laço de repetição em que está e seguir adiante no código...
Depois de bater a cabeça durante LONGOS séculos chego então ao ano de 1832 e as coisas então se alternaram -se você me entende-, o que vem na sequência é só uma solução simples para esta problema:
Mas la naquele if da escolhaDigitada la dentro eu queria ler mais um dado vindo da serial então fiz o seguinte
if (escolhaDigitada == "1"){ // Se o cara digitou um no terminal de serial entrou na opçao secreta
//codigo da opção secreta
char d ;
String cadastro;
while(1){ // entro nesse loop para sair somente com um break
if (Serial.available() > 0 ){ // quanto tiver algo para ler na serial ele entra aqui
d = Serial.read(); // le o byte atual
if(d == '\n'){ // se o byte atual for o ultimo entao entrar aqui
Serial.print("estoy"); // debug da galera
Serial.println(cadastro); // este dado eu valido para ver se é um que sirva para a função que vou chamar e em seguida eu chamo a função enviando o dado para dentro dela
break; // aqui que entra uma questao importante, como eu estou preso em um laço de repetição infinito então eu coloco um break para sair fora dele depois que eu entrei aqui, validei o dado e chamei a função
}else{ // se o byte atual nao for o ultimo entao entra aqui
cadastro += d; // e acumula na string cadastro
}
}
}
}
AEEEEEEEEEEEEEEE o micreragem brava!!!
kkkkkkkkkk
esta é uma solução que encontrei...
Você encontrou outra?
Achou a minha solução uma bosta?
Gostou?
TE FODE!!!
kkkkkkkkkk
brincadeira
deixa o comentário ai embaixo pra gente trocar uma ideia!
Estava la eu,
"arduinando" sem conhecimento técnico para tal...
Quando derrepente eu não conseguia para de ler os dados que vinham da serial!!!
O que acontece é que quando uso a o terminal de serial que tem la na IDE do arduino eu estava projetando uma espécie de "menu oculto" que quando o usuário daquele protótipo digitar 1 ele entra em uma opção onde ele deve digitar um numero que vai ser armazenado , esse número pode ter 1 ,2 , 3 ou até mesmo mais algarismos, e após a leitura dos dígitos ele deve sair do laço de repetição em que está e seguir adiante no código...
Depois de bater a cabeça durante LONGOS séculos chego então ao ano de 1832 e as coisas então se alternaram -se você me entende-, o que vem na sequência é só uma solução simples para esta problema:
void loop() {
// Digite 1 para opção secreta
if (Serial.available() > 0) { // aqui esta vendo se tem algo para ler na serial charLido = Serial.read(); //aqui esta lendo e colocando em um char
if(charLido == '\n'){ // se o char lido atualmente for um barra n quer dizer que o que veio do terminal de serial chegou ao fim
Serial.println("DEBUGAIVOS = Estoy aquí queriéndote"); // debug da galera Serial.println(escolhaDigitada); /* este print ocorre logo apos ler tudo o que veio da serial, nesta parte do codigo a variavel escolhaDigitada ja deve ter acumulado o que foi lido da serial*/
if (escolhaDigitada == "1"){/*Se o cara digitou um no termnial de serial entrou na opçao secreta*/
//codigo da opção secreta
}
escolhaDigitada = ""; // apenas "limpa" a variavel escolhaDigitada
}else{ /*parte interessante: esta condição acontece se o charLido atualmente não for o \n, ou seja se eu digitar no terminal 123 ele na verdade vai receber 123\n mas só vai salvar em escolhaDigitada o 123 sem o \n conforme o que segue abaixo*/
escolhaDigitada += charLido;
}
}
}
Mas la naquele if da escolhaDigitada la dentro eu queria ler mais um dado vindo da serial então fiz o seguinte
if (escolhaDigitada == "1"){ // Se o cara digitou um no terminal de serial entrou na opçao secreta
//codigo da opção secreta
char d ;
String cadastro;
while(1){ // entro nesse loop para sair somente com um break
if (Serial.available() > 0 ){ // quanto tiver algo para ler na serial ele entra aqui
d = Serial.read(); // le o byte atual
if(d == '\n'){ // se o byte atual for o ultimo entao entrar aqui
Serial.print("estoy"); // debug da galera
Serial.println(cadastro); // este dado eu valido para ver se é um que sirva para a função que vou chamar e em seguida eu chamo a função enviando o dado para dentro dela
break; // aqui que entra uma questao importante, como eu estou preso em um laço de repetição infinito então eu coloco um break para sair fora dele depois que eu entrei aqui, validei o dado e chamei a função
}else{ // se o byte atual nao for o ultimo entao entra aqui
cadastro += d; // e acumula na string cadastro
}
}
}
}
AEEEEEEEEEEEEEEE o micreragem brava!!!
kkkkkkkkkk
esta é uma solução que encontrei...
Você encontrou outra?
Achou a minha solução uma bosta?
Gostou?
TE FODE!!!
kkkkkkkkkk
brincadeira
deixa o comentário ai embaixo pra gente trocar uma ideia!

Comentários
Postar um comentário