lumen_xp 0 13 марта, 2019 Опубликовано 13 марта, 2019 (изменено) · Жалоба Имеется 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, может быть у кого-либо есть примеры чтения данные с датчиков. Изменено 13 марта, 2019 пользователем lumen_xp Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k155la3 27 13 марта, 2019 Опубликовано 13 марта, 2019 · Жалоба Для начала проверьте, что указан правильный адрес слейва, и он указан в том формате, который требует драйвер-библиотека. (ну, к примеру веместо HEX пошел DEC, или нужен сдвиг на один бит, или не нужен ). Затем проверяем что к чипу (TLV493D) правильно подключены SDA, SCL не наоборот. Проверить можете также подключив на шину (с шины I2C отключить все слейвы) EEPROM 24C01-02-08-16. Проверяем наличие импульсов на SCL, и наличие бита ответа ~ACK осцилографом. Далее - по результатам. Кроме того, в опциях проекта и h-файлах провертье, что установлен правильный целевой процессор F2013. Если есть лог.анализатор клон Saleae - достаточно было бы сравнить логи обмена с Вашей арудиной - где работает, и с F2013 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться