Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Комбинированный режим I2C
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры
-=Vitaly=-
Здравствуйте Уважаемые.

Скажите будьте добры, всеми ли микроконтроллерами, в которых есть I2C, поддерживается комбинированный режим работы?? Если у кого-то есть примерчик на С под какой-нибудь контроллер.
Запостите листинг или киньте ссылкой на инфу.

Спасибо.
rezident
Что значит "комбинированный" режим работы?
-=Vitaly=-
Цитата(rezident @ Mar 29 2007, 12:02) *
Что значит "комбинированный" режим работы?

Смотрите прикрепленные рисунки. Вопрос возник потому, что читая даташит на c8051f351 я не увидел этого формата. А поскольку я не сильно в этом разбираюсь, то решил спросить. Может это само собой разумеется.
scifi
Насколько я понял, вопрос следующий: может ли модуль I2C в C8051F351 вырабатывать "повторный старт" при использовании в режиме "мастер". Ответ: может, и это написано в даташите.
-=Vitaly=-
Цитата(scifi @ Mar 29 2007, 12:54) *
Насколько я понял, вопрос следующий: может ли модуль I2C в C8051F351 вырабатывать "повторный старт" при использовании в режиме "мастер". Ответ: может, и это написано в даташите.

Спасибо, а остальные тоже теоретически должны это делать ??? Может у кого-то есть кусочек кода?? Я так понял этот режим используется при чтении данных из i2c eeprom.
Короче я так понял любой проц с i2c должен обязательно поддерживать этот режим, иначе он не сможет читать с еепром с произвольного адреса.
scifi
Цитата(-=Vitaly=- @ Mar 29 2007, 15:17) *
Спасибо, а остальные тоже теоретически должны это делать ???

При работе с STR710 с удивлением обнаружил, что он-то как раз повторный старт и не делает. У них модуль I2C вообще какой-то кривоватый.
Цитата(-=Vitaly=- @ Mar 29 2007, 15:17) *
Короче я так понял любой проц с i2c должен обязательно поддерживать этот режим, иначе он не сможет читать с еепром с произвольного адреса.

Если я не ошибаюсь, чтение из произвольного адреса EEPROM можно делать и без повторного старта. Вместо него можно делать стоп и старт.
-=Vitaly=-
Цитата(scifi @ Mar 29 2007, 16:33) *
При работе с STR710 с удивлением обнаружил, что он-то как раз повторный старт и не делает. У них модуль I2C вообще какой-то кривоватый.

Если я не ошибаюсь, чтение из произвольного адреса EEPROM можно делать и без повторного старта. Вместо него можно делать стоп и старт.

А можно поинтересоваться, что за марка еепром?? Я бы даташитик глянул.
rezident
Цитата(scifi @ Mar 29 2007, 19:33) *
Если я не ошибаюсь, чтение из произвольного адреса EEPROM можно делать и без повторного старта. Вместо него можно делать стоп и старт.

Можно, но только в пределах кольцевого счетчика, который у разных EEPROM различную длину имеет.
Цитата(-=Vitaly=-)
А можно поинтересоваться, что за марка еепром?? Я бы даташитик глянул.
Нет разницы старт-условие после стоп-условия или повторное старт-условие. Повторное старт условие без стоп-условия делается для смены режима запись-адреса ->чтение данных и/или для избежания перехватывания обращения к EEPROM (захвата шины) другим мастером. Если на шине только один мастер (ваш), то разницы между повторным старт-условием или стоп->старт нету.
defunct
Цитата(rezident @ Mar 29 2007, 16:22) *
Можно, но только в пределах кольцевого счетчика, который у разных EEPROM различную длину имеет.

Насколько помнится с AT24 такой фокус не проходит. STOP-START приведет к вычитке текущего адреса, а не данных.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.