путаете во-первых, SCL - это клок, шина i2c - она синхронная, поэтому каждый бит тактируется ну и особые комбинации SCL/SDA - это start и stop как я уже сказал, slave может по окончанию приёма байта прижать SCL к земле, это называется что-то типа Hold Master например, Вы датчику даёте команду считать показания и пока он их внутри себя не приготовит, он будет держать шину, чтобы ошибочные данные не считали

Комментарии: 9

  1. Maxim

    Хуевый датчик. Но да, слейв может тупить и тормозить мастера, если не может прожевать такой поток байт

    • Unsupported

      я просто наглядный пример привёл

  2. Anonim

    наскольок я понимаю у каждого i2c устройстройства есть адрес!

    • Unsupported

      есть, поэтому иметь такой слейв - плохо :) ну и не совсем у каждого устройства, если вы ставите одинаковые устроства, то адрес у них будет одинаковый, хорошо, чесли у них будет CS

      • Anonim

        и чтобы считать данные ему сначала нужно обратиться к этому устройству по адресу чтобы он приготовил данные, выждать время для подготовки датчиком данных и потом опять с адресом этого устройства обратиться но уже с тем что он будет читать данные!

        • Unsupported

          как вариант - использовать расширители или аналоговые коммутаторы по SDA минимум

          • Anonim

            и никакой путаницы не будет!

        • Unsupported

          а сколько ждать?

          • Anonim

            устройство будет держать данные до новой команды

Не нашли ответ?

Вам также может быть интересно