Étape 1: UUEncoding en C
"Ce qui est 'UUEncoding'?"
UNIX-to-Unix encoding (UUE) est le processus où les données binaires sont converties en une forme qui peut être représentée à l’aide de valeurs de caractères ASCII de l’espace (32) au trait de soulignement (95). Ces 64 caractères permettent d’exprimer n’importe quel flux binaire des données.
Je ne vais pas passer beaucoup de temps à expliquer Qu'uuencoding depuis l’article de Wikipedia est excellent.
"Pourquoi UUEncode?" Vous avez écrit un programme pour rechercher une valeur particulière ? Comme ça
int i; char tCollection[32]; char c; if( c == 'T') { Serial.print("I found a T!"); tCollection[i] = c; else if (c == '\r') { exit(); }
Vous commencez votre programme en cours d’exécution et tout semble très bien. Il inspecte les données à la recherche de la lettre T (0 x 54), mais alors, tout d’un coup votre programme s’arrête sans raison. Vous êtes contrarié, parce que le capteur vous les données n’envoie le code de sortie, qui est un transport de retour (« \r » ou 0 x 13), mais encore, votre programme a pris fin, comme il l’a fait.
Vraiment, nous savons la raison, votre programme a rencontré un 0 x 13 aléatoire, qu’il interprète comme une commande de sortie. Peut-être un autre caractère spécial ?
Mais vous vous rendez compte, si vous faites affaire avec un flux de données de 8 bits n’importe quel caractère ASCII peut être trouvé dans le flux entrant. Alors, comment peut-on la communication devices savent quand il se fait des données, versus, quand il reçoit une commande ?