• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Несколько i2c устроиств на одной шине

enjoynering

Well-known member
добрый день.

столкнулся с проблемой. есть несколько датчиков и lcd экран подключенный к одной i2c шине (одним контактам esp). по отдельности все работают отлично. как только инициализирую больше одного ведомого, то начинатся глюки , зависания и перезагрузки. покопавшись в интернете, обнаружил что я не одинок. оказывается, что проблема в библиотеках - каждая из них заново инициализирует i2c шину вызывая wire.begin() в своем теле. переписывать библиотеки не вариант, 99% библиотек в инете так написанны (замучаешся их править). созрели два вопроса:

есть ли более элегантный способ решить проблему?
почему так происходит?
 

Юрий Ботов

Moderator
Команда форума
Закомментировать во всех библиотеках вызов wire.begin() и вызвать его самому... ДО инициализации библиотек. Или это и есть "переписывать библиотеки"?

Почему так происходит?

Из за желания использовать чужие библиотеки написанные для "помигать светодиодом".
 
Сверху Снизу