Paso 1: UUEncoding en C
¿Qué es 'UUEncoding'?"
Codificación de UNIX a Unix (UUE) es el proceso donde se convierten datos binarios en una forma que puede ser representada usando valores de carácter ASCII de espacio (32) a subrayado (95). Estos 64 caracteres nos permiten expresar cualquier secuencia binaria de datos.
No pasaré mucho tiempo explicando que uuencoding desde el artículo de Wikipedia es excelente.
"¿Por qué UUEncode?" ¿Usted ha escrito un programa para buscar un valor en particular? Así
int i; char tCollection[32]; char c; if( c == 'T') { Serial.print("I found a T!"); tCollection[i] = c; else if (c == '\r') { exit(); }
Comenzar a ejecutar el programa y todo parece ir bien. Es inspección de datos buscando la letra T (0x54), pero luego, de repente el programa sale sin razón. Estás molesto, porque el sensor de envío de los datos no envía el código de salida, que es un carro devolver ('\r' o 0 x 13), pero aún así, el programa terminó como lo hizo.
Realmente, sabemos la razón, el programa llegó a través de al azar 0 x 13, que interpreta como un comando de salida. ¿Tal vez un carácter especial diferente?
Pero te das cuenta, si se trata de una secuencia de datos de 8 bits que cualquier carácter ASCII puede encontrarse en la corriente entrante. Entonces, ¿cómo puede la comunicación dispositivos saben cuándo está recibiendo datos, versus, cuando recibe un comando?