@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]). Их же наверное не только напечатать надо, но и как-то ещё использовать?
Но это решение для идеальных условий. На первое время его может и хватит. Но обычно, когда нужно передавать нечто большее, чем однобайтовые команды, пора "изобретать" пакетную передачу, некий свой протокол.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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