Перейти к содержанию

    

MSP430F2013 и датчик Холла по I2C

Имеется MSP430F2013 и датчик Холла TLV493D https://www.infineon.com/dgdl/Infineon-TLV493D-A1B6_3DMagnetic-UM-v01_03-EN.pdf?fileId=5546d46261d5e6820161e75721903ddd
подключаемый по I2C.
За основу взял пример http://we.easyelectronics.ru/msp430/ispolzovanie-apparatnogo-i2c-msp430launchpad-i-ez430-f2012-dlya-podklyucheniya-segmentnogo-indikatora-melt-10.html, но так и не смог считать значения с датчика. Выдает все нули.

Плата и обвязка самодельные, подтягивающие резисторы к Vcc на 4,7к установлены.
Проверил с Arduino, там все работает, эта же плата выдает значения.
Исходя из этого делаю вывод, что проблема в коде.
Подскажите что нужно поправить для работы с датчиками по I2C, может быть у кого-либо есть примеры чтения данные с датчиков.

Изменено пользователем lumen_xp

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для начала проверьте, что указан правильный адрес слейва, и он указан в том формате, который требует драйвер-библиотека.

(ну, к примеру веместо HEX пошел DEC, или нужен сдвиг на один бит, или не нужен ).

Затем проверяем что к чипу (TLV493D) правильно подключены SDA, SCL не наоборот.

Проверить можете также подключив на шину (с шины I2C отключить все слейвы) EEPROM 24C01-02-08-16.

Проверяем наличие импульсов на SCL, и наличие бита ответа ~ACK осцилографом. Далее - по результатам.

Кроме того, в опциях проекта и h-файлах провертье, что установлен правильный целевой процессор F2013.

Если есть лог.анализатор клон Saleae - достаточно было бы сравнить логи обмена с Вашей арудиной - где работает, и с F2013

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация