Я пытаюсь отправить строку данных через последовательный порт с компьютера на плату Arduino Mega .Строка данных состоит из нескольких букв для идентификаторов и двух значений.Одно значение находится в диапазоне от 0 до 240 (поэтому может быть двухзначным или трехзначным), а второе - числом от -45 до + 45. Мне удалось написать код на C # для отправки строки, иэто показано ниже.
private void goButton_Click(object sender, EventArgs e)
{
if (!serialPort1.IsOpen)
return;
command = 43;
outBuffer += "E" + command1 + "F";
outBuffer += "G" + command2 + "H";
// Therefore send through serial port a string in the following format:
// E<command1>FG<command2>H
// Where <command1> will be an int value between 0 - 240, and
// <command2> will be be a value between -45 and + 45
serialPort1.Write(outBuffer);
outBuffer = "";
}
Теперь у меня проблема с извлечением значений из строки, когда она получена на плате Arduino.Я написал некоторый код, который, кажется, отображает строку правильно, но я не смог найти то, что я делаю неправильно, или как на самом деле отфильтровать / извлечь два значения и сохранить их в двух отдельных переменных.Код Arduino, который у меня сейчас есть:
if (Serial.available() > 0)
{
char inData;
String inDataString;
inData = Serial.read();
inDataString = inData;
// Shows the string of E<command1>FG<command2>H
Serial.print(inDataString);
}
Как мне получить правильный код на Arduino, чтобы я мог получить два значения, отправленные с компьютера?