реклама на сайте
подробности

 
 
> I2C: start condition сразу после stop condition, Всегда приводит к ошибке?
sonycman
сообщение Dec 13 2008, 00:49
Сообщение #1


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Сейчас вот переношу один старый асмовый проект для меги8 на си.
И вспомнил, что была у меня проблема с шиной I2C - если в процессе обмена данными возникала ошибка, то я сразу после посылки STOP начинал отправлять START для повторной передачи. То есть совсем без паузы.
Что приводило к невыполнению посылки START`а, так как, видимо, в это время всё ещё выполнялся STOP...

Тогда я просто поставил паузу в несколько миллисекунд после каждого стопа (или перед каждым стартом).
Есть ли другой способ, "более красивый"?
И почему атмеловцы не стали устанавливать флаг TWINT после завершения STOP?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
rezident
сообщение Dec 13 2008, 01:20
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Согласно спецификации I2C bus после стоп-условия и перед формированием нового старт-условия должна быть пауза не менее 4,7мкс для стандартного режима (100кГц) и не менее 1,3мкс для быстрого режима (400кГц).
Или ваш вопрос все же в контексте использования модуля TWI был задан?
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th July 2025 - 18:24
Рейтинг@Mail.ru


Страница сгенерированна за 0.01362 секунд с 7
ELECTRONIX ©2004-2016