primer usuario, ¡Hola chicos!Operadores de bit a bit y conversión de un int a 2 bytes y viceversa
Así que con suerte alguien puede ayudar ... Mi fondo es php, por lo que ingresar la palabra de lowend cosas como, char es bytes, que son bits ... que es valores binarios ... etc toma algo de tiempo para familiarizarse con ;)
Lo que intento hacer aquí se envía algunos valores de una placa de Ardunio a openFrameWorks (ambos son C++).
Lo que hace este script actualmente (y funciona bien para un sensor, podría añadir) cuando se le pregunta por los datos que se enviarán es ..
int value_01 = analogRead(0); // which outputs between 0-1024
unsigned char val1;
unsigned char val2;
//some Complicated bitshift operation
val1 = value_01 &0xFF;
val2 = (value_01 >> 8) &0xFF;
//send both bytes
Serial.print(val1, BYTE);
Serial.print(val2, BYTE);
Al parecer esta es la forma más confiable de obtener los datos a través de .. Así que ahora que se envía a través del puerto serie, los bytes se añaden a una cadena de carbón y convierten de nuevo por ..
int num = ((unsigned char)bytesReadString[1] << 8 | (unsigned char)bytesReadString[0]);
Así que para recapitular, estoy tratando de conseguir 4 sensores valor de los datos (que im suponiendo que será 8 de esas impresiones en serie?) y tener en t num_01 - num_04 ... al final de todo.
Im suponiendo que esto (como con casi todo) podría ser bastante fácil para alguien con experiencia en estos conceptos ..
Cualquier ayuda sería muy apreciada. Gracias
Desde su pregunta , no está del todo claro con qué tiene problemas ... Si el código anterior funciona, entonces puede, como usted dice, hacer más operaciones de Serial.print y obtener sus valores de otros índices en bytesReadString en el otro extremo. ¿Qué es eso que no funciona? – tgdavies