Oque é possível transmitir pela comunicação serial?

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.

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.

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.

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.