vks.com пишет:...расклад такой
D0-непонятно(в Canny7 туда заводят ="A0")...
Тут все совсем не так. Как отмечалось выше, драйвер i2c претерпел изменения. Описание драйвера (в wiki) актуализировано. На форуме остался старый пример, который нельзя использовать в качестве основы для новых разработок. Для адреса устройства существует отдельный регистр.
vks.com пишет:...D0-непонятно(в Canny7 туда заводят ="A0")
D1-старший байт адреса.
D2-младший байт адреса
D3-байт данных...
Адрес микросхемы памяти (0x0A), в специальный регистр.
D0-старший байт адреса
D1-младший байт адреса
D2-байт данных
D3-байт данных
Во вложении пример диаграммы. При подаче питания в EEPROM AT24C256, начиная с адреса 0x0001, будет записано 2 байта данных (0xBEEF). После этого, через 1с, начнется цикл чтения записанных данных: чтение будет выполняться каждую секунду, сначала будет установлен адрес начальной ячейки, а следом будет выполнено чтение 2х байт данных.
Если полученные данные соответствуют записанным на начальном этапе (0xBEEF), то на выходе 13 контроллера на 150мс будет установлен положительный потенциал.
Возможности проверить диаграмму в железе, к сожалению, у нас нет.