Мой опыт работы с php, поэтому вход в мир низкоуровневых вещей, таких как char - это байты, которые являются битами, которые являются двоичными значениями и т. Д., Требует некоторого времени, чтобы освоиться.
То, что я пытаюсь сделать здесь, - это отправка некоторых значений с платы Ardunio в openFrameWorks (оба являются c ++).
Что этот скрипт в настоящее время делает (и хорошо работает с одним датчиком, который я мог бы добавить), когда его спрашивают об отправке данных, это:
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);
По-видимому, это самый надежный способ передачи данных. Итак, теперь, когда он отправляется через последовательный порт, байты добавляются в строку char и конвертируются обратно:
int num = ( (unsigned char)bytesReadString[1] << 8 | (unsigned char)bytesReadString[0] );
Итак, напомним, я пытаюсь получить данные с 4 датчиков (которые, как я предполагаю, будут 8 из этих серийных отпечатков?) И иметь int num_01 - num_04 ... в конце всего этого.
Я предполагаю, что это (как и большинство вещей) может быть довольно легко для человека, имеющего опыт в этих концепциях.