Ошибка компиляции в nodeMCU вместе с датчиком температуры oneWire ds18b20 и ЖК-дисплеем 2x16 (не I2C)

Я использую nodeMCU вместе с датчиком температуры oneWire ds18b20 и ЖК-дисплеем 2x16 (не I2C). Я использую Arduino IDE для программирования nodeMCU. Я получаю ошибку компиляции:

C:\Program Files (x86)\Arduino\libraries\OneWire/OneWire.h:108:2: error: #error "Please define I/O register types here"
#error "Please define I/O register types here"
^
exit status 1
Error compiling for board NodeMCU 1.0 (ESP-12E Module).

Что означает фраза "Пожалуйста, определите здесь типы регистров ввода/вывода"? Спасибо за помощь.

, 👍2

Обсуждение

Также спросил на https://stackoverflow.com/q/46498587, @per1234

Я заменил свой старый код OneWire.h на <a href="https://github.com/Yveaux/esp8266-Arduino/blob/master/esp8266com/esp8266/libraries/OneWire/OneWire.h">этот (Нажмите здесь) </a> код, и он работал потрясающе., @Big Yan


1 ответ


4

Похоже, вы используете устаревшую версию библиотеки OneWire, которая не поддерживает ESP8266. Следуйте этим инструкциям, чтобы обновить библиотеку до последней версии:

  1. Скетч > Включить библиотеку > Управление библиотеками...
  2. Дождитесь завершения загрузки.
  3. В поле "Отфильтруйте результаты поиска..." введите "onewire".
  4. Нажмите на запись "OneWire".
  5. Нажмите кнопку "Обновить".
  6. Дождитесь завершения установки.
  7. Нажмите кнопку "Закрыть".

Последние выпуски библиотеки OneWire поддерживают ESP8266, так что это должно решить вашу проблему с компиляцией.

,