Простой код для определения контактов, используемых для управления регистром сдвига. Ошибка: здесь не допускается определение функции перед токеном '{'.

Я просто пытаюсь зажечь несколько контактов на специальной плате через Arduino. В моем коде ниже есть, казалось бы, распространенная ошибка: «Здесь не разрешено определение функции до токена '{'». Я просмотрел свой код на наличие открывающих/закрывающих фигурных скобок и точек с запятой. Я также регулярно нажимаю сочетание клавиш Ctrl+T, чтобы отформатировать его. Теперь я в растерянности - любая информация/совет очень ценится! Ошибка возникает в строке «{» после строки «voidloop()» внизу:

// последовательно считываем по 32 байта за раз для отправки в сдвиговые регистры.
// в настоящее время обновление каждые 0,1 секунды в Matlab

// Определяем, какие контакты будут использоваться для управления сдвиговым регистром
int dataPin = 2;
int latchPin = 3;
int clockPin = 4;

#include <SPI.h>

void setup()
{
  SPI.setBitOrder(MSBFIRST);
  SPI.setDataMode(SPI_MODE0);

  SPI.setClockDivider(SPI_CLOCK_DIV16);
  SPI.begin();

  //Настраиваем каждый вывод ввода-вывода
  pinMode(dataPin, OUTPUT);
  pinMode(latchPin, OUTPUT);
  pinMode(clockPin, OUTPUT);

  Serial.begin(115200);
  delay(1000);

  int seq
  [32] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};

  int timeElapsed = 2000;
  int timeOld = 0;
  int interval = 100;

  void loop()
  {
    Serial.flush();
    Serial.println('K');
    for (int i = 0; i < 32; i++)
    {
      while (Serial.available() == 0);
      {
        seq[i] = Serial.read();
      }
    }
    digitalWrite(latchPin , HIGH);
    digitalWrite(latchPin , LOW);
    for (int i = 0; i < 32; i++)
    {
      SPI.transfer(seq[i]);
    }
    digitalWrite(latchPin , HIGH); //необходимо доставить на борт
  }

, 👍-1

Обсуждение

Вы забыли закрыть функцию setup()., @Majenko


1 ответ


1

Для вашей функции setup() нет закрывающей скобки, а ваша функция loop() находится внутри setup(). Закройте setup() с помощью , а затем запустите loop()!

,

Ах, спасибо. Я действительно сделал это до того, как получил ошибку «инициализации». Но я считаю, что вы просто упомянули об этом, и это помогло мне понять, куда поставить "}", @Junior