Официальный сайт компании Arduino по адресу arduino.cc
Ошибка компиляции скетч nodemcu
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Втр, 17/03/2020 - 01:20
Я новичок помогите пожалуйста решить проблему.Буду очень благодарен.
Arduino: 1.8.12 (Windows 10), Плата:"NodeMCU 1.0 (ESP-12E Module), 80 MHz, Flash, Legacy (new can return nullptr), All SSL ciphers (most compatible), 4MB (FS:2MB OTA:~1019KB), 2, v2 Lower Memory, Disabled, None, Only Sketch, 115200"
In file included from D:\Arduino\blynk(Temp)\done.ino\done\done.ino:4:0:
C:\Users\xaker\Documents\Arduino\libraries\oneWire/OneWire.h:108:2: error: #error "Please define I/O register types here"
#error "Please define I/O register types here"
^
Несколько библиотек найдено для "BlynkSimpleEsp8266.h"
Используется: C:\Users\xaker\Documents\Arduino\libraries\Blynk-0.6.1
Не используется: C:\Users\xaker\Documents\Arduino\libraries\Blynk
Не используется: C:\Users\xaker\Documents\Arduino\libraries\blynk-library-master
Несколько библиотек найдено для "OneWire.h"
Используется: C:\Users\xaker\Documents\Arduino\libraries\oneWire
Не используется: C:\Users\xaker\Documents\Arduino\libraries\DallasTemperature
exit status 1
Ошибка компиляции для платы NodeMCU 1.0 (ESP-12E Module).
Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
"Показать подробный вывод во время компиляции"
#error "Please define I/O register types here"
Я пробовал ничего не помогает
https://esp8266.ru/forum/threads/a-u-kogo-to-zarabotalo-v-versi-1-6-5-biblioteka-onewire.582/
https://esp8266.ru/forum/threads/esp8266-konfliktuet-s-onewire.4638/
Очень тебе благодарен ты спас меня мучился над этой проблемой месяц
Доброе время суток. Подскажите что не так. Начал заниматься по книге Джереми Блума . В устранении дребезга кнопки Листинг 2.5.
const int LED = 9;
const int BUTTON = 2;
boolean lastButton = LOW; // Переменная для сохранения предыдущего состояния кнопки
boolean currentButton = LOW; //Переменная для сохранения текущего состояния кнопки
boolean ledOn = false; // Текущее состояние светодиода (включен/выключен)
void setup () {
pinMode(LED, OUTPUT);
pinMode(BUTTON, INPUT);
}
/* Функция сглаживания дребезга. Принимает в качестве аргумента предыдущее состояние
* и выдает фактическое
*/
boolean debounce(boolean last) {
boolean current = digitalRead(BUTTON);//Считать состояние кнопки
if (last != current) { // Если изменилось
delay(5); //Ждем 5мс
current = digitalRead(BUTTON); // Считывем состояние кнопки
return current; //Возвращаем состояние кнопки
}
}
void loop() {
class='book'>currentButton=debounce(lastButton);
if (lastButton == LOW && currentButton == HIGH) { // Если нажатие
ledOn = !ledOn; // Инвертировать значение состояния светодиода
}
lastButton = currentButton;
digitalWrite(LED, ledOn); //Изменить статус состояния светодиода
}
Выдает ошибку expected primary-expression before 'class'. Буду благодарен за помощь)
class='book'>currentButton=debounce(lastButton)
Вот это мало отношения имеет к С коду. Вы скорее всего некорректно скопировали.
Сделайте так
currentButton=debounce(lastButton);
Спасибо
Mabrok, Вы лучше скачайте тексты всех программ с англоязычного сайта поддержки книги, т.к. в русском издании много опечаток прямо в текстах программ.
Посоветуйте сайт, пожалуйста.
Здравствуйте. Помогите, пожалуйста разобраться с кодом. Код скопирован с сайта amperka.ru/
#define LAST_LED_PIN 5
#define FIRST_LED_PIN 2
void setup() {
//Подключаем цикл чтобы не писать программу много раз
//Мы выполняем pinMode для кождого пина(for) (pin)
//от первого (=FIRST_LED_PIN) до последнего включительно (<=LAST_LED_PIN)
//Всякий раз продвигаясь к следующему
//(++pin увеличивает значение pin на единицу)
//Так все пины от 2-го по 4-й друг за другом станут пинами.
for(int pin = FIRST_LED_PIN; pin <= LAST_LED_PIN; ++pin)
pinMode(pin, OUTPUT);
}
void loop () {
//Получаем время в миллисекундах, прошедшее с момента включение микроконтролера
unsigned int ms = millis();
//Нехитрой арифметикой вычесляем, какой светодиод
//должен гореть именно сейчас. Смена будет происходить
//кождые 120мс. Y % X - это остаток от деления Y на X
int pin = FIRST_LED_PIN + (ms/120)%10;
//Включаем нужный светодиод на 10мс, затем - выключаем.
//На следующем проходе цикла он снова включиться,
//если его черед, и мы вообще не заметим отключения
digitalWrite(pin, HIGH);
delay(10);
digitalWrite(pin, LOW);
}
Я занимаюсь самостоятельно, выполняю все задания с этого сайта. Не филоню)
Мне не понятно какое число записано в переменной ms когда оно делиться на число 120 в этой строке int pin = FIRST_LED_PIN + (ms/120)%10;. Объясните пожалуйста.
Посоветуйте книгу для самостоятельного обучения по ардуино для человека который никогда не сталкивался с программированием. Зарание спасибо.
Посоветуйте книгу для самостоятельного обучения по ардуино для человека который никогда не сталкивался с программированием. Зарание спасибо.
https://drive.google.com/file/d/0B9r7cRXQ4DU4dTBtRFpub0tfV00/view?usp=sharing
А вот коды всех примеров к книге Блюма - https://drive.google.com/file/d/1b2n1TMA52UWu_qfbLB14X9FK034fjeIw/view?usp=sharing
А если хотите советов по коду - вставляйте код как положено (почитайте первую тему в разделе "Песочница")
вы явно потеряли часть кода при вставке в форум. Строчка 6 стало бессмысленной, а в процедуре loop() явная и очень нехорошая ошибка - код будет писать совсем не в те пины, которые предусматривал автор.
Сомневаюсь. что такой кривой код мог быть в примерах к книжке.
Да. Сейчас исправлю
Код проэкта Бегущие Огни. Код сработал. Огни побежали. Взят с сайта амперка ру.
Меня интересует какое число делится на 120 (ms/120), не могу понять какое число в переменной ms.
Увеличивающееся каждую 1/1000 секунды на единицу.
Меня интересует какое число делится на 120 (ms/120), не могу понять какое число в переменной ms.
а зачем вы комментарии удалили - у вас же там все было написано:
прочитайте в справке, что такое функция millis() и зачем она нужна.
ЗЫ а код все равно неправильный. И даже опасный. им можно пожечь плату. После того как огонек достигнет последнего светодиода, скетч продолжает увеличивать номер пина, посылая напряжение на случайные выводы микроконтроллера, которые могут быть замкнуты на "землю" - и будет короткое замыкание
Спасибо за предупреждение.
Там же %10 стоит - далеко пин не убежит.
ага, чета не подумал :)