подскажите с проблемой компиляции

Тема в разделе "Флудилка", создана пользователем AlexandrNikolaevi4, 1 дек 2016.

  1. Дела обстоят так я написал программку все правильно компилируется без ошибок ,заливается и работает все хорошо, но стоит только сохранить и тут выходит ошибка "niva:18: error: 'RPM' was not declared in this scope". Где мне копать?
     

    Вложения:

    • niva.ino
      Размер файла:
      1,4 КБ
      Просмотров:
      583
  2. Vetrinus

    Vetrinus Гик

    rpm напишите в нижнем регистре. Нет такой переменной.
     
  3. можно подробнее куда вписать переменную ? а то я тока учусь.
     
  4. Vetrinus

    Vetrinus Гик

    Начните читать ошибки при компиляции. Без этого важного навыка будете бегать на форум каждые 2 минуты.
     
  5. проблема то стоит в том что при создании и компиляции и заливке нет проблем нет ошибок а после сохранения появляться. И приходится после изменения открывать новый проект копировать весь код и прошивать.
     
  6. Vetrinus

    Vetrinus Гик

    Так, ок. Не до конца вник. Давайте разбираться вместе:
    niva:18: error: 'RPM' was not declared in this scope
    На 18 строке - 'RPM' не объявлено в текущей области видимости.
    RPM - это глобальная функция. По идее, все должно быть ок.
    Как вариант, могу посоветовать вам перенести все самописные функции вверх, а setup и loop оставить в самом низу, но это так, из разряда шаманств. Похоже на какой-то баг arduino IDE.
     
  7. Спасибо за совет! Будем искать дальше.
     
  8. Tomasina

    Tomasina Сушитель лампочек Модератор

    у тебя вот тут:
    Код (C++):
      attachInterrupt(0,RPM,FALLING);
    назначается вызов функции RPM, а самой функции RPM еще не было объевлено (компилятор последних версий IDE притупел и не просматривает предварительно весь скетч). Вставь функцию RPM перед setup().

    Кстати, работоспособность скетча вызывает сомнения - у тебя в прерывании вызывается функция RPM, в которой изменяется содержимое переменной microsold, которая объявлена как недоступная для прерываний.
     
  9. я в программе пока не силен и спорить не буду. Менял местами ставил перед setup() он все равно ругается. Компилятор пока не переустанавливал, пока пользуюсь копи вставил.
    А на счет работоспособности могу сказать что лежит у меня на столе и все считает и работает.
    Хочу в свою НИВУ поставить типа бортового компьютера., вот сижу пояю и пишу.
     
  10. AlexU

    AlexU Гуру

    Куда сохраняете? После сохранения файла 'niva.ino' в пути к этому файлу есть "нежелательные" символы -- русские буквы, пробелы и т.п.?
    С чего это вдруг глобальные переменные не доступны для прерываний?
    Другое дело, что их надо пометить как 'volatile', а то компилятор наоптимизирует, что работать будет не так как хочется. Но это на область видимости переменных ни как не влияет.