2017-02-04 47 views
0

Я работаю над проектом робототехники и совместной обратной связью. Я использую чип AS5048B от AMS. Я испытывал какое-то странное поведение, связанное с шиной I2C моей ардуиновой мега, поэтому я решил подключить ее как тест к моему ардуино.AS5048B Проблемы I2C

Я только смог сделать один из кодеров, разговаривающих по I2C, который у меня есть, но похоже, что когда я сделал команду OTP, он запрограммировал неправильный адрес, 0x40 вместо 0x02. Есть два аппаратных вывода A1 и A2, которые устанавливают последние 2 бита адреса I2C, но я не уверен, следует ли их подключать к линии 5V, линии 3V3 или одному из двух с выпадающими резисторами, чтобы установить адрес 0x41, 42 или 43. У меня уже есть резисторы 4K7, тянущие SDA и SCL до 5 В, но не были уверены, что это было правильно. Может ли кто-нибудь дать мне несколько указателей?

ответ

1

Я ответил на мой собственный вопрос ... это может помочь некоторым из вас, других людей ...

Посмотрите на таблицу регистров, адрес структурирована следующим образом:

1+ (4 биты адреса OTP) + (2 бита адреса переадресации A1/A2)

Это делает так, что если я запрограммирую в 0010 для адреса 0x02, у меня действительно есть (без перемычек) 1001000, то есть 0x48. Я нашел это первым, используя адресный код сканера, который можно найти здесь: http://forum.arduino.cc/index.php?topic=197360

И я думал, что обжарил свои кодеры ...