Вступить в клуб →
средняявопросМикроконтроллеры и аппаратные протоколы

Второй датчик той же модели не отвечает на шине I2C

На шину I2C, где уже работал один датчик, добавили второй — точно такой же модели, подключён параллельно к тем же линиям SDA и SCL. После этого сканирование шины находит только одно устройство, а данные читаются с искажениями, как будто отвечают оба сразу.

В чём причина?

  • На шине I2C может работать только одно ведомое устройство: для двух датчиков нужно переходить на SPI с отдельными линиями
  • Второму устройству не хватает отдельной линии выбора кристалла, как это сделано в SPI, поэтому оно не отличается от первого
  • Нужно снизить тактовую частоту шины: на стандартной скорости два ведомых устройства на одной линии не уживаются
  • У двух одинаковых датчиков совпадает адрес; нужен вывод выбора адреса, другая ревизия или мультиплексор

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела