invertor79 0 26 апреля, 2007 Опубликовано 26 апреля, 2007 · Жалоба Не получается даже прочитать DEVID, первый байт читается нормально, второй же, какой регистр не читаю, одинаково FF считывается. Даже пробую записать в любой регистр, например число 0x1234 читаю потом 0x12FF. Инициализируется и пишется всё нормально, все ACK проходят. Пробовал все варианты чтения по даташиту (Figure 52. Example of Sequential I2C Write and Readback Operation). Нифига. Может она так хитро навернуться? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 119 26 апреля, 2007 Опубликовано 26 апреля, 2007 · Жалоба Не получается даже прочитать DEVID, первый байт читается нормально, второй же, какой регистр не читаю, одинаково FF считывается.Похоже, вы на первый же отвечаете NACK и микросхема выходит из режима чтения. На все байты, кроме последнего надо формировать ACK и только на последний обязательно NACK. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
invertor79 0 26 апреля, 2007 Опубликовано 26 апреля, 2007 · Жалоба Похоже, вы на первый же отвечаете NACK и микросхема выходит из режима чтения. На все байты, кроме последнего надо формировать ACK и только на последний обязательно NACK. Да, спасибо, вы меня опередили. :) Была банальная опечатка при формировании АСК при чтении. Теперь все работает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться