[an error occurred while processing this directive]
Вопрос по I2C
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
миниатюрный аудио-видеорекордер mAVR

Отправлено Dmitriyf 19 июля 2002 г. 07:34

Сразу скажу - документацию на сайте Phillips перечитал от корки до корки. Однако вопрос остался. Точнее - он возник.

Ситуация - передача нескольких байт - для простоты 2-х в одной посылке. То есть сигнал START, передаем 2 байта, сигнал STOP.

Я не вдаваюсь в подробности где аддресс где дата, чисто 2 байта. По окончании 8-го бита первого байта имеем сигнал ACK. Очень хорошо, мы его приняли - SCL поднялся, я прочитал SDA, SCL опустился.
А что со следуюсчим цицлом SCL. В случае передачи STOP - понятно пока SCL внизу после ACK десжим STOP внизу, поднялся SCL через 4 мксек подняли SDA - получили STOP. А если это первый бит следуюсчего байта?
Будет он действителен во время цицла SCL вверх- SCL вниз следуюсчего за циклом ACK. Или этот цикл специально предназначен только для STOP, START и я его не должен рассматривать как первый бит следуюсчего байта?

Я для лучшего понятия нарисовал картинку. На ней интересуюсчий меня период обозначен красным цветом. Вопрос собственно - вовремя этого красного периода может прийти START, STOP, а если нет - я должен считать это как данные (первый бит следуюсчего байта)?

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru