Цитата(SasaVitebsk @ Aug 5 2006, 14:05)

Аппаратный не подойдёт. Там же надо адрес забивать. А если он не известен?
Посмотри мой проект PULT I2C. В исходниках. Там 2313 работает в качестве SLAVE програмным способом. Вам только прерывание надо разобрать. На 12М по-моему до 100кГц работала. Конечно переделать предётся, но посмотреть можно.
Цитата(bodja74 @ Aug 5 2006, 14:05)

Согласен с Whale
Тоже была мысля сделать монитор И2Ц,кинулся на меги там только фиксированный адресс и общий,
а на тини2313 адресации нет и сам USI попроще чем TWI у мег.
По пинам можно в цикле читать длительность,а по прерыванию паковать байты,жаль только
что нет флажка или прерывания СТОП и протокол шины не привязан к частоте,можно управлять хоть тумблерами ,поэтому расчет длительности может быть только в определенных пределах.
В любом случае ,если что получится пишите мне на личку,мне тоже эта тема интересна.
Да господа. Но времена меняются.
Обратите внимание на регистр маски (TWAMR) для МК Atmega88. И мой проект красиво ложится на аппаратные возможности данной микрухи. Жаль что на момент написания её ещё не было.

Таким образом можно (уже можно) отвечать на любой адрес и делать програмный монитор I2C. (Конечно без тайминга зато на достаточно высокой скорости).
Это конечно прекрасно, что разработчики AVR учитывают пожелания разработчиков (уж не знаю как они до них доходят), но это возвращает нас к уже состоявшемуся разговору о серьёзной непродуманности многих решений и внесении заплаток "на ходу". Что плодит множество решений при ощущении отсутствия общего подхода. А с точки зрения программиста, серьёзно усложняет написание и заимствование библиотек.
Надо непрерывно следить за новыми кристаллами. Трудно предугадать что ещё они там подкинут.
Давайте же выпьем за ATMEGA888!