Проблема

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

  1. Romanich

    Romanich Нуб

    Здравствуйте у меня появляется ошибка при проверке.
    Сама программа:
    #define FIRST_SEGMENT_PIN 2
    #define SEGMENT_COUNT 7
    byte numberSegments[10] = {
    0b00111111, 0b00011010, 0b01110111, 0b01110110, 0b01101010, 0b01011110, 0b01011101, 0b00001010, 0b00111111, 0b01111110,
    }

    void setup()
    {
    for (int i = 0; i < SEGMENT_COUNT; ++i)
    pinMode(i + FIRST_SIGMENT_PIN, OUTPUT);
    }
    void loop()
    {
    int number = (millis() / 1000) % 10;
    int mask = numberSegments[number];
    for (int i = 0; i < SEGMENT_COUNT; ++i) {
    boolean enableSegment = bitRead(mask, i);
    digitalWrite(i + FIRST_SEGMENT_PIN, enableSegment);
    }
    }
    Выходит эта ошибка:
    alah_akbar.2.ino:7:1: error: expected ',' or ';' before 'void'
    Помогите пожалуйста..
     
  2. Romanich

    Romanich Нуб

    Извиняюсь за такое название просто с другом розыгрыш готовим к 1 апреля)))
     
  3. ИгорьК

    ИгорьК Гуру

    [​IMG]
     
  4. Romanich

    Romanich Нуб

    Код (C++):
    #define FIRST_SEGMENT_PIN 2
    #define SEGMENT_COUNT 7
    byte numberSegments[10] = {
      0b00111111, 0b00011010, 0b01110111, 0b01110110, 0b01101010, 0b01011110, 0b01011101, 0b00001010, 0b00111111, 0b01111110,
    }

    void setup()
    {
      for (int i = 0; i < SEGMENT_COUNT; ++i);
        pinMode(i + FIRST_SIGMENT_PIN, OUTPUT);
    }
    void loop()
    {
      int number = (millis() / 1000) % 10;
      int mask = numberSegments[number];
      for (int i = 0; i < SEGMENT_COUNT; ++i) {
        boolean enableSegment = bitRead(mask, i);
        digitalWrite(i + FIRST_SEGMENT_PIN, enableSegment);
      }
    }
     
     
  5. FomaLSSJ

    FomaLSSJ Нерд

    Веткой ошиблись. Но предположу где объявляете numberSegment после последнего элемента стоит запятая, ее надо убрать.
     
  6. Romanich

    Romanich Нуб

    К сожалению не сработало
     
  7. FomaLSSJ

    FomaLSSJ Нерд

    В setup ещё for заканчивается на ";", возможно в этом проблема.
     
  8. ИгорьК

    ИгорьК Гуру

  9. Morgan

    Morgan Гик

    В сообщении об ошибке сказано, что перед void в 7-й строке ожидалась запятая или точка с запятой.
    После объявления массива следует ставить точку с запятой.
    byte numberSegments[10] = { …,…,… } ;
     
    Tomasina и arkadyf нравится это.