РЕШЕНО Как читать двузначное число char?

Тема в разделе "Arduino & Shields", создана пользователем ALeska811, 26 мар 2021.

  1. ALeska811

    ALeska811 Нерд

    Решил сделать прогу для управления лентой по Serial.
    Вот часть кода:
    Код (C++):
    void loop() {
      if(Serial.available()){
         mode = Serial.read();
      }
      switch (mode)
      {
        case '1':
         rainbow(20);
          break;
        case '2':
        Fire(55,120,15);
          break;
        case '3':
         
        meteorRain(0xff,0xff,0xff,1, 64, true, 30);
          break;
        case '4':
       // byte onecolor[1][3] = { {0xff, 0x00, 0x00} };
       // BouncingColoredBalls(1, onecolor, false);
       HalloweenEyes(0xff, 0x00, 0x00,
                         1,random(1,10),
                         true, random(5,50), random(50,150),
                         random(1000, 10000));
                      HalloweenEyes(0xff, 0x00,0xff,
                     1, random(1,10),
                      true, random(5,50), random(50,150),
                       random(100, 1000));

          break;
        case '5':
          rainbowCycle(10);
       break;
        case '6':
        theaterChaseRainbow(50);
        break;
        case'7':
         RGBLoop();
        break;
        case '8':
        NewKITT(0xff, 0x00, 0x00, 8, 10, 50);
        break;
        case '9':
        Sparkle(0xff, 0xff, 0xff, 0);
        break;
       /* case 'e':
        HalloweenEyes(0xff, 0x00, 0x00,
                         1,random(1,10),
                         true, random(5,50), random(50,150),
                         random(1000, 10000));
                      HalloweenEyes(0xff, 0x00,0xff,
                     1, random(1,10),
                      true, random(5,50), random(50,150),
                       random(100, 1000));*/

       break;
       case 11:
       RunningLights(0x1C,0xFF,0xF7, 100);
      break;
      case'12':
      RaimbowlWipe(30,10);
      break;
      case'13':
      pride();
      break;
      }
    При достижение 10 режима включается 1. Я так полагаю считывается только первый символ.
     
  2. Asper Daffy

    Asper Daffy Иксперд

    Кто или что мешает прочитать второй?
     
  3. ALeska811

    ALeska811 Нерд

    как?
     
  4. Asper Daffy

    Asper Daffy Иксперд

    А как первый читали? Точно также.

    Ну, или если чтение первого Вы где-то сдули, не понимая, то поискать код с использованием Serial.parseInt и сдуть его.
     
    ALeska811 нравится это.
  5. ALeska811

    ALeska811 Нерд

    о спасибо
     
  6. Asper Daffy

    Asper Daffy Иксперд

    Не за что!