Как отличить значения, отправленные с Arduino?

Наличие в моем приложении Visual Basic чего-то вроде:

private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
    {
        *whatever* value = serialPort1.Read*whatever*();
    }

Предположим, что мой Arduino отправляет в каждом цикле значение, считываемое фоторезистором. Предположим, что мой Arduino также отправляет 0, если определенный светодиод НИЗКИЙ, или 1, если определенный светодиод ВЫСОКИЙ. Наконец, предположим, что мой Arduino также отправляет значение, равное количеству выполнений цикла.

Предположим, что в 25-м исполнении мой Arduino отправляет что-то вроде:

Serial.write(LED_state) // 0 или 1 для LOW или HIGH
Serial.write(photoresistor_value) //предположим, 25
Serial.write(loop_number) //25

Вопрос: если все значения отправляются с помощью Serial.write или Serial.print, и все значения являются целыми числами, как я могу отличить в своем приложении, принадлежит ли полученное значение 25 фоторезистору или контуру? Есть ли способ отправить что-то вроде (ключ, значение) из Arduino, чтобы я мог различать полученные целые числа и правильно назначать их переменным моего приложения?

, 👍-1


1 ответ


Лучший ответ:

1

Есть ли способ отправить что-то вроде (ключ, значение)

Конечно:

Serial.print("LED state: ");
Serial.println(LED_state);

Для его анализа вам придется изменить код VB.

,