ошибка error: expected unqualified-id before 'if' if (send) { but all semicolons are available

Я получаю ошибку компиляции: перед 'if' ожидается неквалифицированный идентификатор. Но я проверил все точки с запятой. Помогите пожалуйста найти мою ошибку. Остальная часть сообщения об ошибке читается

C:\Users\jecalderon\Documents\Arduino\Codigo_AS7262_Investigacion_V2\Codigo_AS7262_Investigacion_V2.ino:35:1: error: expected unqualified-id before 'if'
 if (currentMillis - previousMillis >= interval) {
 ^~
C:........\Codigo_AS7262_Investigacion_V2.ino:40:1: error: expected unqualified-id before 'if'
 if (send) {
 ^~

exit status 1

Compilation error: expected unqualified-id before 'if'
#include <Wire.h>
#include "Adafruit_AS726x.h"
//создаем объект
Adafruit_AS726x ams;
//буфер для просмотра значений в грубой форме
uint16_t sensorValues[AS726x_NUM_CHANNELS];
//буфер для сохранения калиброванных значений (не используется этот код)
//плавающие калиброванные значения[AS726x_NUM_CHANNELS];
unsigned long previousMillis = 0;
const long interval = 250;
bool send = false;
void setup() {
  Serial.begin(115200);
  while (!Serial) {
    // инициализация цифрового контакта LED_BUILTIN в качестве выхода.
    pinMode(LED_BUILTIN, OUTPUT);

    //запускаем и разрешаем связь с датчиком
    if (!ams.begin()) {
      Serial.println("could not connect to sensor! Please check your wiring.");
      
        
    }
  }
}
void loop() {
  //считываем температуру датчика
  //uint8_t temp = ams.readTemperature();
  //ams.drvOn(); // раскомментируйте это, если вы хотите использовать датчик для выполнения измерений
  ams.startMeasurement();  //начинаем измерение
  //позволяет датчику читать данные, если они доступны
  unsigned long currentMillis = millis();
};
//ams.drvOff(); //прочитайте это, если вам нужно использовать светодиодный датчик для медицинского использования
if (currentMillis - previousMillis >= interval) {
  previousMillis = currentMillis;
  send = true;
}

if (send) {
  //Ли лос valores!
  ams.readRawValues(sensorValues);
  //ams.readCalibratedValues(калиброванные значения);

  //Serial.print("{");
  //Serial.print("Темп: ");
  //Serial.print(temp);
  //Serial.print(",");
  //Serial.print(" Фиолетовый: ");
  Serial.print(sensorValues[AS726x_VIOLET]);
  Serial.print(",");
  //Serial.print(" Синий: ");
  Serial.print(sensorValues[AS726x_BLUE]);
  Serial.print(",");
  //Serial.print(" Зеленый: ");
  Serial.print(sensorValues[AS726x_GREEN]);
  Serial.print(",");
  //Serial.print(" Желтый: ");
  Serial.print(sensorValues[AS726x_YELLOW]);
  Serial.print(",");
  //Serial.print(" Оранжевый: ");
  Serial.print(sensorValues[AS726x_ORANGE]);
  Serial.print(",");
  //Serial.print(" Красный: ");
  Serial.print(sensorValues[AS726x_RED]);
  //Serial.print("}");

  Serial.println();

  send = false;
}

, 👍-1

Обсуждение

Если исходная проблема решена, отметьте ответ. **Не** меняйте этот вопрос на что-то другое, вместо этого задайте новый вопрос. Вы можете дать ссылку на этот вопрос, чтобы предоставить некоторую информацию. Однако каждый вопрос должен быть самодостаточным., @the busybee

Спасибо или нарушаем мой процесс устранения неполадок. Публикация обновлений всегда была очень эффективной для решения очень сложных вопросов. Я предлагаю вам не редактировать и не удалять любые изменения, которые конкретно называются ОБНОВЛЕНИЕМ. Теперь мне пришлось отдать должное ответу, который, хотя и был близок к решению, не достиг цели. Это достаточно плохо, если добавить к тому факту, что вы проголосовали против моего первоначального поста, который активно получал отзывы от участников сообщества., @Jose Enrique Calderon

Отказ от ответственности: я не голосовал против и не редактировал ваш вопрос. Однако я чувствую себя вместе с тем, кто это сделал. -- Возможно, вы захотите совершить [экскурсию](снова) и прочитать некоторые страницы [справки]. Этот сайт не является форумом и может не поддерживать _ваш_ процесс устранения неполадок. Это сайт вопросов и ответов с конкретными вопросами и ответами, если они есть. Если _ваша_ проблема не решена, не отмечайте ответ и не уточняйте, почему он не отвечает на конкретную проблему. Но если _ваш_ процесс приводит к _другой_ проблеме, напишите об этом в новом вопросе. В противном случае вы сделаете всю работу, проделанную для первого, бесполезной., @the busybee

Ваше обновление не потеряно. Увидеть это можно, если пройти по «отредактированной» ссылке. Вы можете использовать это, чтобы опубликовать новый вопрос. Пожалуйста, узнайте об этом сайте, прежде чем обвинять., @the busybee

Я планирую внимательно следить за тем, как люди голосуют в темах, но не вносят существенного вклада в публикацию. Я работаю здесь уже 10 лет и считаю, что это голосование против голосования мотивировано неверными причинами. Я указываю на количество отрицательных оценок по сравнению с положительными. Надеюсь, мой отзыв будет принят модераторами и администраторами хорошо., @Jose Enrique Calderon

Аргументы о закрытии и отрицательном голосовании уже хорошо сформулированы. Если вопрос закрыт, в рамке над вопросом есть много подсказок. Кнопка «вниз» имеет полезное всплывающее окно. Что должен внести больший вклад тот, кто голосует за закрытие или прекращение деятельности? Предполагается, что задающий вопрос следует правилам, и многие избиратели, которых я вижу, _дополнительно_ оставляют комментарии, объясняющие почему. Пожалуйста, не будьте параноиком, вас не преследуют. Если за 10 лет у вас чуть больше 100 очков репутации, это не вина других., @the busybee


1 ответ


Лучший ответ:

0

Проверьте свои брекеты. Используйте Control-T для автоматического форматирования кода, и ошибка станет очевидной.

Это вся функция цикла. Все, что происходит после этого, находится за пределами функции.

void loop() {
  //подтверждаем температуру датчика
  //uint8_t temp = ams.readTemperature();
  //ams.drvOn(); // объясните это, если вам нужно использовать светодиодный датчик для медицинского использования
  ams.startMeasurement();  //начинаем измерение
  //разрешить датчику получать данные, когда они доступны
  unsigned long currentMillis = millis();
};
,

Спасибо за вклад., @Jose Enrique Calderon

Это решило вашу проблему?, @Delta_G