Столкнулся с проблемой подключения двух устройств на одной I2c линии, а именно SI7021(3.3в) и Lcd 1602

Нет, адреса разные

Тогда в чем проблема?

ЗЫ: Если устройства уже «готовые» (собранные на заводе), то нужно прозвонить линии данных. Возможно на всех устройствах стоят резисторы подтяжки. Это не правильно, нужно все их удалить физически и оставить только два, желательно у мк.

Поэтому я и написал на форум, я не понимаю в чем проблема. Суть: датчик и дисплей общаются с мк и сидят на одной I2c линии, но этого не происходит, при залитии кода на мк и запуска мк, дисплей выводит информацию(то есть к нему идут данные), но датчик почему-то не обменивается информацией, но если я отключаю дисплей с линии и обратно включаю, то всë чинится и общается друг с другом. Сканером I2c адресов проверял, устройства видит и адреса выдаëт (0x27, 0x40)

О, вот это хорошее предположение, спасибо, проверю(устройства с завода собранные)

Давай. Просто тестером прозвони линии данных с + и GND.

Как я писал уже ранее, если адреса из сканера определяются, то беда в вашей программе. И даже намекнул на отсутствии инициализации датчика(тут вы вроде поправили). Осталось убедится, что китайцы напаял именно si7021, а не другие перечисленные на этой плате датчики :slightly_smiling_face:

А ссылку на датчики температуры в теме приводили?
Хочется взглянуть (да лень 200 постов перечитывать).

Ссылку? Тут фото еле допросились, правда с предъявами, что уже типа выкладывал(нет)

Фигово, надо бы ссылку.
Вот я по фото нашел, а он HTU21D называется:

https://aliexpress.ru/item/32480177429.html

Как вариант попробовать - использовать библиотеку для HTU21D.

Вторая, наверное, предпочтительнее.

В коде проблем с инициализацией нет)

Вы были правы, на датчике SI7021 действительно есть 2 резистора на 10 КОм, их надо выпаять?

Это точно SI7021

Да.

Но тем не менее попробовать библиотеку эту ничего не стОит:

Хорошо, спасибо

И получается потом поставить резисторы на 10КОм в начало I2c линии (от еспшки)

Там в дисплее имеются, ничего никуда не надо ставить.
И если номинал в 10к, то я всё больше склоняюсь к варианту с другой библиотекой…

Хорошо, спасибо за информацию

Я бы:

  1. Ничего пока не выпаивая, попробовал другую библиотеку.
  2. Если не взлетело - выпаял бы резисторы подтяжки из датчика и попробовал бы снова со старой и новой библиотекой.

А от результатов можно и дальше «плясать»…

Вряд ли.
Обычно i2c работает с резисторами 2к. А два по 10к в параллель - это существенно больше 2к. Так что, скорее всего, дело не в них.