@mIka01

Как Char разделить в массив по знаку в Arduino?

Здраствуйте, у меня вопрос с Arduino.
Как по Serial порту передать несколько int переменных. Например [1 45 67 94 23 543].
Как я понял по Serial можно передавать только Char строчку. Как мне её преобразовать в int массив в ширину 6, если передаваемой строчки у меня цифры разделены пробелами.
P.S. Как я понял в Arduino IDE нету Split.

Заранее благодарю.
  • Вопрос задан
  • 68 просмотров
Решения вопроса 1
Собираете из char`ов string:
char inChar = (char)Serial.read();
inputString += inChar;

Когда ввод закончен, например при передаче символа конца строки или переноса строки
if (inChar != '\n' or inChar != '\r'){

Находим позицию пробела в строке:
int i = inputString.indexOf(" ");

Если позиция не 0, то пробел найден, берем подстроку до пробела и после:

if (i > 0) {
String command = inputString.substring(0, i);//Часть строки о пробела
String paramString = inputString.substring(i + 1, inputString.length());//Это часть строки после пробела

В моем примере вторая часть строки инт, перевожу ее в число типа инт:
unsigned long param = paramString.toInt();

Вам нужно перевести в инт первую часть и продолжить делить вторую до победного
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы