@RieldaBot
Начинающий программист Python

Как взять 3 числа с порта через кейсы?

У меня есть такой код:

void setup() {
  Serial.begin(9600);

}

void loop() {
  if (Serial.available() > 1) {
    char key = Serial.read();
    int val = Serial.parseInt();
    switch (key) {
      case 'b': Serial.println(val);
      break;
      case 'c': Serial.println(val);
      break;
    }
  }
}


Как сделать чтобы когда я ввожу c255 255 255 println показывал 255 50 0 (сразу 3 числа), а не одно
  • Вопрос задан
  • 82 просмотра
Решения вопроса 1
@kalapanga
Почему после чтения key ожидается три числа, а parseInt делается только один раз? Три раза подряд и надо. В три различные переменные (val0, val1, val2) или в три элемента массива (val[0], val[1], val[2]). Их же наверное не только напечатать надо, но и как-то ещё использовать?
Но это решение для идеальных условий. На первое время его может и хватит. Но обычно, когда нужно передавать нечто большее, чем однобайтовые команды, пора "изобретать" пакетную передачу, некий свой протокол.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы