MAG3110

Собственно приобрел я детальку, а точнее платку с уже распаянной деталькой www.aliexpress.com/snapshot/265852998.html/ Даташит на нее ищется тоже легко www.freescale.com/files/sensors/doc/data_sheet/MAG3110.pdf а дальше интересно
В даташите я ясно вижу адрес I2C 0x0E. на самой первой странице, ваяю код, подключаю и нет ответа от модуля. Яростно колупая интернет, обнаружился вот такой кусочек кода openmovement.googlecode.com/svn/trunk/Firmware/Flux/src/Peripherals/Mag-MAG3110.c в котором адрес модуля волшебным образом изменился на 0x1C. Что как и почему неизвестно, но с этим адресом все работает.
Мой пример инициализации

i2c_start();
i2c_write(0x1c);
i2c_write(0x10);
i2c_write(0b01100101);    //8 бит
i2c_stop();
//c_reg2
i2c_start();
i2c_write(0x1c);
i2c_write(0x11);
i2c_write(0b10100000);
i2c_stop();


Ну и восьмибитные данные, как и заказывали при инициализации

i2c_start();
i2c_write(0x1c);
i2c_write(0x02);
i2c_start();
i2c_write(0x1d);
dataX=i2c_read(0);
i2c_stop();

i2c_start();
i2c_write(0x1c);
i2c_write(0x04);
i2c_start();
i2c_write(0x1d);
dataY=i2c_read(0);
i2c_stop();

i2c_start();
i2c_write(0x1c);
i2c_write(0x06);
i2c_start();
i2c_write(0x1d);
dataZ=i2c_read(0);
i2c_stop();


">
  • -1
  • 09 октября 2013, 16:17
  • serge962

Комментарии (8)

RSS свернуть / развернуть
Да я собственно понимаю, искал целый вечер проблему и задокументировал ее решение здесь.
0
и задокументировал ее решение здесь
Возможно тогда статью стоило назвать «О проблемах понимания адресов i2c устройств на примере MAGxxxx»?)

А то я в надежде узнать, что ж это за магическая деталька такая MAGxxxx, зашёл, а в итоге фиг =D Статья совершенно не соответствует заголовку.
+2
Согласен. Ибо если бы автор вместо этого мага взял BMP085, то поменялся бы только заголовок :D
Особенно улыбнуло, что чтобы узнать «что за деталька» пришлось еще и даташит открыть…
0
Я с телефона, связь плохая, таки что это?
0
Магнетометр… это типа компас?
0
Ага. Только меряет по 3 осям.
0
0
Ни картинок, ни описания. Что это такое, зачем…
5 строчек и даташит ))
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.