Go Down

Topic: Oque é possível transmitir pela comunicação serial? (Read 110 times) previous topic - next topic

Zhenit

Galera estou controlando meu Arduino por um dispositivo Android via bluetooth, a comunicação se da de forma serial e minha aplicação manipula muitas variáveis e com valores diversos, algumas variáveis são do tipo long. Com isso a pratica de ter um monte de if dizendo, se receber um carácter "x" faz tal coisa, se receber um carácter "y" faz essa coisa,  se receber um carácter "z" faz outra coisa ..., fica impraticável.
Então pergunto, é possível enviar pela serial comandos diretamente setando variáveis?
Caso não seja, qual a dica que me dão para eu desenvolver um método prático para essa manipulação de variáveis pela serial?

Outra duvida, tudo que chega pela serial é string ou posso salvar numerais que chegam numa variável long?

Obrigado.

bubulindo

tudo o que chega pela Serial sao bytes... o significado es tu que lhe das.
Sendo assim pode ser um unsigned long decomposto em bytes, pode ser um float, como pode ser uma string em ASCII.

A unica coisa que podes optimizar para evitar esses if e mesmo um switch case... que e a mesma coisa para parece mais bonito.

Tambem podes poupar bastante processamento se nao usares strings em ASCII, mas valores binarios.
Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o.
Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum).
Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.

Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).

Zhenit

tudo o que chega pela Serial sao bytes... o significado es tu que lhe das.
Sendo assim pode ser um unsigned long decomposto em bytes, pode ser um float, como pode ser uma string em ASCII.

A unica coisa que podes optimizar para evitar esses if e mesmo um switch case... que e a mesma coisa para parece mais bonito.

Tambem podes poupar bastante processamento se nao usares strings em ASCII, mas valores binarios.
Suspeitei dês de o principio!
O switch foi a solução que imaginei, ele já esta quase pronto, fica menos pior que um monte de "if", consultei vcs pra ter certeza que realmente não havia outra forma.
Sobre enviar os valores em binários; como posso fazer isso?

Obrigado por mais essa ajuda.

Go Up