Я пытаюсь отправить строку данных через последовательный порт с компьютера на плату Arduino Mega. Строка данных состоит из нескольких букв для идентификаторов и двух значений. Одно значение составляет от 0 до 240 (поэтому может быть двузначное значение или три раза), а второе значение - от -45 до + 45. Мне удалось написать код на C#, чтобы отправить строку, и это показано ниже.Отправка строки из 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, чтобы быть правильным, так что я могу получить два значения, отправленные с компьютера?