• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Делюсь опытом ESP12 Проблема с одновременной работой двух модулей I2C

MihaNN52

Member
Да да...я это как раз понимаю... но видать что то где то в библиотеках косяк, и только после добавления задержки в 100мс все работает как надо.
Ну как, как надо...с задержкой)) это неправильно, я понимаю
 

MihaNN52

Member
Походу понял в чем была проблема. Все как всегда под носом. Часы опрашиваются по несколько десятков раз в секунду, они забивают весь эфир ( это хорошо видно на анализаторе). Надо запускать функцию опроса часов через миллис и все будет нормально.
 

bstsoft

Member
@MihaNN52
Слушай на часах есть контакт RST я так понимаю он нужен для сброса. Сам не проверял именно для какого. Но что то наводит на мысль может его соединить с ESP можешь попробовать?
 

dizzel

New member
ESP 2.5.2
RTClib 1.8.0
Не работает. У меня нет возможности разобраться что именно не так, но у меня время всегда отсчитывается с 00 00 00. Правда перед тем как считывать время в 3231 сохраняется инфа из НТП. Толи в принципе что-то со считыванием инфы из 3231, толи криво в нее сохраняется, ну толи я кривой. Попробуйте кто-нибудь повторить, просто сейчас нет возможности углубиться, отлаживаю свои костыли.
Ловлю переодически зависание шины и2с на старте, решил попробовать библиотеку и драйвер.
 

xlin

New member
ESP 2.5.2
RTClib 1.8.0
Не работает. У меня нет возможности разобраться что именно не так, но у меня время всегда отсчитывается с 00 00 00. Правда перед тем как считывать время в 3231 сохраняется инфа из НТП. Толи в принципе что-то со считыванием инфы из 3231, толи криво в нее сохраняется, ну толи я кривой. Попробуйте кто-нибудь повторить, просто сейчас нет возможности углубиться, отлаживаю свои костыли.
Ловлю переодически зависание шины и2с на старте, решил попробовать библиотеку и драйвер.
приветствую. получилось решить проблему с i2c? также не могу добиться работы 3х датчиков с разными адресами,по отдельности зато все гут
 

stix357

New member
Приветствую.
Извиняюсь за реинкарнацию.
Столкнулся с подобной проблемой, но на ESP32.
На i2c трое:
OLED
SHT21
BMP280

Длина проводов менее 10 см
Питание ESP32 по USB от повербанка.

Основным виновником у меня является BMP280,
Как только при обращении к нему появляется сбой, ESP32 уходит в сумрак и по остальным датчикам ошибки.
Опрос датчиков редкий 10-12 мин.

Сбой происходит спонтанно, от 1-го до 5 раз в сутки.
Пока использую костыль - загоняю ESP32 в режим глубокого сна на секунду.

ESP32 полностью ребутится и все хорошо до поры, до времени ...
Причину пока не нашел.
BMP280 менял.
 

stix357

New member
Используется
platformio arduino
gyverlibs/GyverOLED @ 1.6.3
 

rst

Member
Как только при обращении к нему появляется сбой, ESP32 уходит в сумрак и по остальным датчикам ошибки.
А почему "появляется сбой"?
Опрос датчиков редкий 10-12 мин.
Сбой происходит спонтанно, от 1-го до 5 раз в сутки.
Первым делом, имхо, нужно найти причину сбоя. И устранить его. Для этого можно, например - увеличить частоту опроса до максимально возможной. Чтобы сбои полезли чаще. Так будет проще найти.
 

pvvx

Активный участник сообщества
Многие датчики типа SHT2x..3x читаются сразу пачкой данных. Если не давать NACK в конце считывания последнего байта - возможны любые выкрутасы на линии I2C - чип будет считать что передача данных не закончена.

Аналогично с BMP280.

Используйте правильные алгоритмы работы с I2C, а не детские варианты реализации, а не опускание линий в ноль на долгое время для сброса (и то не все чипы это поддерживают).
 
Сверху Снизу