-= Александр =- писал(а):У меня вот вопрос возник: есть у меня пачка восьминогих ЕЕПРОМин I2C, можно ли их все в один контроллер параллельно воткнуть? И как тогда выбирать с какой из них общаться?
С ЕЕПРОМами не общался, но, по идее, каждая посылка в i2c начинается с адреса slave. Тот slave, который получил свой адрес, продолжает слушать шину, остальные отключаются. Сонар, например, по дефолту имеет адрес 0xE0. Для того, чтобы повесить их на шину несколко штук, надо каждому прописать уникальный адрес. Это делается по той же i2c, спец-последовательностью команд.
-= Александр =- писал(а): Да и вообще как в нее записать и прочитать байт?
Есть тут под рукой библиотечка для работы с ЕЕПРОМ. Там доступ организован побайтово. То есть для записи в память по шине посылается пакет [Адрес устройства, Старший байт адреса ячейки памяти, Младший байт я.п., Новое значение]. Для чтения -- аналогично.
Однако, в даташите по какому-то ЕЕПРОМу видел такие слова, как page write и sequential read. В принципе, размер пакета i2c неограничен -- можно хоть всё подряд считывать.