Помогите с вводом 2-х значений через монитор порта.

Тема в разделе "Arduino & Shields", создана пользователем max90, 16 авг 2017.

  1. max90

    max90 Нуб

    Доброго дня.
    Пожалуйста расскажите почему код ниже не работает:
    Код (C++):
    int h=0,m=0, s=0;
    char c1,c2;
    void setup() {
      // put your setup code here, to run once:
    Serial.begin(9600);
    Serial.println("write Hour");
      delay (5000);
    while (Serial.available() > 0) {
                    // считываем принятый байт:
                    c1 = Serial.read();
                     h = h * 10 + atoi(c1);
      }
     
      Serial.println("write Min");
        delay (5000);
      while (Serial.available() > 0) {
                    // считываем принятый байт:
                    c2 = Serial.read();
                    m = m * 10 + atoi(c2);
      }
    }
     

    void loop() {
     

     
      Serial.print(h);
      Serial.print(":");
      Serial.print(m);
      Serial.println("\n");
      delay (1000);
    }
     
     
  2. b707

    b707 Гуру

    как именно "не работает"?
     
  3. max90

    max90 Нуб

    Задаю время например 12 и 40, а выдает 0:0
     
  4. b707

    b707 Гуру

    вам уже ответили на ардуино.ру - неправильно используете функцию atoi