Простой код для определения контактов, используемых для управления регистром сдвига. Ошибка: здесь не допускается определение функции перед токеном '{'.
Я просто пытаюсь зажечь несколько контактов на специальной плате через 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); //необходимо доставить на борт
}
@Junior, 👍-1
Обсуждение1 ответ
Для вашей функции setup()
нет закрывающей скобки, а ваша функция loop()
находится внутри setup()
. Закройте setup()
с помощью , а затем запустите
loop()
!
Ах, спасибо. Я действительно сделал это до того, как получил ошибку «инициализации». Но я считаю, что вы просто упомянули об этом, и это помогло мне понять, куда поставить "}", @Junior
- Как разделить входящую строку?
- Как использовать SPI на Arduino?
- Как сбросить или отформатировать Arduino?
- Управление скоростью вентилятора с помощью библиотеки Arduino PID
- Arduino Due vs Mega 2560
- Как получить уникальный идентификатор для всех плат Arduino?
- Почему я получаю avrdude: stk500v2_ReceiveMessage(): timeout error when uploading to Arduino Mega?
- Тайм-аут связи Arduino Mega с ошибкой программатора
Вы забыли закрыть функцию
setup()
., @Majenko