ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
7 июля
220880
pav256 (10.11.2010 18:09, просмотров: 1417)
Не работает ADT7410, стандартно подключен к модулю TWI AT90CAN128. Кратко ADT7410 - температурный датчик с шиной I2C. Имеется набор регистров содержащих различные данные и конфигурационную информацию. Доступ к регистрам - произвольный. Регистры 00h и 01h содержат значение температуры, 02h - статус, 03h - конфигурация ... Так вот температура читается нормально, судя по скорости её изменения (менял конфигурацию) регистр конфигурации записывается так же нормально. Но вот прочитать кроме температуры ничего не могу. Т.е. не могу одной операцией - записи, установить внутренний указатель регистра, а другой операцией - чтения, вытащить из него данные! От безвыходности подключил осциллограф - ВСЕ в соответствии со стандартом I2C и даташитом, однако данные выдаются не те! Пробовал понизить скорость - ожидаемо не помогло. Такое впечатление (значения похожи), что в любом случае читается температура (один или два байта), т.е. отдельно (для последующей операции чтения) не устанавливается внутренний указатель регистра, хотя операция записи двух байт (внутренний указатель регистра + значение этого регистра), судя по всему, работает? Может кто сталкивался с такой проблемой на других устройствах с I2C или есть общие идеи?