По хорошему, для минимальной конфигурации достаточно записать только один регистр PWR_MGMT_1 <= 0x00 и уже должно работать. Пробовал и так, однако все осталось без изменений.
Полагаю, если читается, то микруха однозначно работает. Можно допустить смерть мемсов, но температура ведь тоже йок.. Так что имхо надо искать причину в кривизне (например, адресация в софтовом или хардовом смысле)
Да там запутаться-то в регистрах негде. К тому же я пробовал не только сам код писать, но и использовать чужие библиотеки. Что касается хардварной части... Если бы были проблемы с I2C, то ни записи, ни чтения бы не производилось. Остается сам модуль. Однако расположение и номиналы деталей на плате, правильное. Было подозрение на коротыш между ножками микросхемы, но после прогрева паяльником и отмывки спиртом ничего не поменялось.
Питание на чипе есть. Интересно. Пока тыкался мультиметром, случайно закоротил на модуле выводы GND и SCL. После этого, из регистров данных акселерометра считались значения отличные от нулей. Однако они в этих регистрах так и остались и больше не обновлялись.
щас пишу либу под HTU21D наблюдал такой глюк - при записи в некоторые регистры сенсор переставал отвечать, пол вечера убил пока разобрался. на шине кроме HTU21D еще сидели MP085 и BH1750 и пытались говорить. вылечил переводом HTU21D в режим измерения с Hold master.
Нет, ничего не висит. Реализация I2C програмная, Когда-то использовал библиотеку для работы с часами реального времени, вот и здесь решил не мудрствуя её прикрутить.
Comments 12
CONFIG <= 0x01
Reply
Пробовал и так, однако все осталось без изменений.
Reply
Можно допустить смерть мемсов, но температура ведь тоже йок..
Так что имхо надо искать причину в кривизне (например, адресация в софтовом или хардовом смысле)
Reply
Что касается хардварной части... Если бы были проблемы с I2C, то ни записи, ни чтения бы не производилось.
Остается сам модуль. Однако расположение и номиналы деталей на плате, правильное. Было подозрение на коротыш между ножками микросхемы, но после прогрева паяльником и отмывки спиртом ничего не поменялось.
Reply
Reply
Интересно. Пока тыкался мультиметром, случайно закоротил на модуле выводы GND и SCL. После этого, из регистров данных акселерометра считались значения отличные от нулей. Однако они в этих регистрах так и остались и больше не обновлялись.
Reply
щас пишу либу под HTU21D наблюдал такой глюк - при записи в некоторые регистры сенсор переставал отвечать, пол вечера убил пока разобрался. на шине кроме HTU21D еще сидели MP085 и BH1750 и пытались говорить. вылечил переводом HTU21D в режим измерения с Hold master.
Reply
Reply
Leave a comment