Может ли ESP 32 использовать библиотеку проводов точно так же, как это было в Arduino?
Сравните видео с YouTube и эту веб-страницу: в первом случае программирование сильно отличалось в ESP32, а в Arduino nano, в то время как веб-страница, казалось, подразумевала, что они работают точно так же.
Можем ли мы использовать один и тот же код для стандартной библиотеки Arduino, такой как wire library, для ESP32 и ESP8266, или мы должны сделать что-то другое?
1 ответ
Код, использующий библиотеку Arduino Wire, как правило, переносим между процессорами, но есть подводные камни, на которые следует обратить внимание. Один из них, о котором я знаю, - это разница в проводных библиотеках для ESP32 и ESP8266. Метод TwoWire::begin() для ESP32 имеет прототип:
bool TwoWire::begin(int sdaPin, int sclPin, uint32_t frequency);
принимая во внимание, что для ESP8266 это:
void TwoWire::begin(int sda, int scl, uint8_t address);
Итак, вызов begin() с использованием библиотеки ESP # 2 установит часы с использованием третьего параметра, тогда как на ESP8266 он усечет третий параметр и будет использовать его в качестве адреса.
Если вы хотите, чтобы код был переносимым между ESP32 и ESP8266, то для решения этой конкретной проблемы необходимо вызвать TwoWire::begin( my_SDA_pin, my_SCL_pin )
(указав только два параметра: контакты SDA и SCL) и использовать отдельный вызов TwoWire::setClock( my_clock_speed )
для установки часы.
Могут быть и другие различия, о которых я не знаю ...
- esp32 Stack canary watchpoint срабатывает
- ESP32 millis не работает должным образом
- esp32 http client response только 200 не получил данные после этого
- Adafruit esp32 Feather не удалось скомпилировать
- Сработал детектор отключения питания
- ESP-NOW с esp32 и esp8266
- Монитор напряжения батареи сразу после глубокого сна
- Существует ли точная процедура подключения между esp32 и ультразвуковым датчиком(HC-SR04)?
в видео он использует не Arduino, а непосредственно фреймворк Espressif IDF. пакет плат Arduino esp32 содержит библиотеку проводов для Arduino, @Juraj
@Juraj так ESP 32 и ESP 8266 используются точно так же, как Arduino для стандартных библиотек? Я слышал, что методы наклеивания ярлыков были немного другими., @ShoutOutAndCalculate
У меня не было проблем с использованием одного и того же скетча с библиотекой Wire на Uno и esp8266, @Juraj
программное обеспечение то же самое. следите за напряжениями и подтягиваниями., @dandavis