Primeiro parse no arduino
No meu projeto de controle remoto para a minha TV, eu queria enviar dados com comandos para o IR(infrared), mas como a porta serial soh aceita 1 bits por vez e como queria ficar livre para enviar varios comandos e com varios parametros, fiz um parser simples.
Decidi que os parametros do comando seriam dividios por ‘;’ e cada pacote seria composto por 10 bits, pronto agora fica mais facil.
Com o tamanho do pacote definido, fica mais facil, basta eu esperar a quantidade de bits disponivel para ler e quando chegasse a 10 bits, bastaria eu fazer o parse.
Usando a funcao Serial.available() que retorna a quantidade de bits disponiveis para serem lidos. Criei esse codigo.
No codigo acima, a variavel tmp vai ter os 10 caracteres que preciso para fazer o parse com seguranca. Como variavel tmp esta com uma string, posso chamar a funcao do parser.
O primeiro while eu descubro a quantidade de parametros, o segundo eu preencho o array de String, e retorno a quantidade de parametros por referencia.
E ai, sabe uma maneira melhor de fazer esse parse, fique a vontade de falar nos comentarios.