[an error occurred while processing this directive]
Точно такого не было. Однако сейчас боремся с похожим глюком в Рамтроновском F24CL64
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено AK 24 сентября 2002 г. 01:52
В ответ на: I2C ...было ли такое у кого? отправлено Romario 23 сентября 2002 г. 22:44

У нас питание 3.3В. При включении питания F24CL64 _иногда_ (примерно половина случаев) "притягивает" линию SDA к земле в тот момент, когда выдает первый Ack, и держит ее пока не пройдут 24 импульса SCL.
То есть, поначалу прога лезет читать несколько ячеек FRAM. После первого байта (адрес устройства FRAM, запись) линия SDA оказывается в 0, соответственно, оба байта адреса получаются 00 и 00. Условия STOP и START "съедаются", поскольку линия SDA остается на земле, и FRAM воспринимает их как еще один импульс клока. Дальше идет первый байт чтения (адрес устройства FRAM, чтение), который, таким образом, превращается в байт данных 0. После этого байта FRAM "отпускает" SDA и дальше работает нормально.
То есть, пока она "сама себе" не пропишет 00 по адресу 0000, житья нет.

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

Ответы



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

E-mail: info@telesys.ru