@mihayk в итоге проблемы пропали окончательно получается?
К сожаленью нет. День работает, а день сбоит. Мистика какая-то! Когда сбой - мне приходиться перезаливать скетч на контроллер, тогда работа восстанавливается...
Проблемы немного улучшились, монитор перестал выделываться! Данные с MPU9250 сначала идут корректно, затем начинается каша мала. На удивление, бывали дни когда работа была бесперебойная.
Проблемы немного улучшились, монитор перестал выделываться! Данные с MPU9250 сначала идут корректно, затем начинается каша мала. На удивление, бывали дни когда работа была бесперебойная.
То есть на дисплее выводятся данные с датчика, которые не соответствуют действительности? А WHO_AM_I при этом верный?
То есть на дисплее выводятся данные с датчика, которые не соответствуют действительности? А WHO_AM_I при этом верный?
WHO_AM_I = 0x70 для MPU9250. Для магнетометра 0х00. Данные с датчика идут сначала нормальные, потом каша-мала. Время работы в "нормальном режиме" может быть разное. Может даже целый день работать нормально. Жду такой же датчик для проверки. Проверю - отпишусь!
Пришел 2-ой MPU9250. Выводы, которые я сделал по порядку:
1. ak8963 (магнетометр) не работает на двух устройствах - регистр WhoAmI 0х00, а судя по описанию должен быть 0х48. Либо неправльная инициалиция, либо он вообще не определяется на интерфейсе SPI. Буду пробовать на интерфейсе I2C. WhoAmI для MPU9250 - 0x70 и 0х74 (2 устройства)
2. Была задача посадить два устройства на один канал SPI (монитор и MPU9250). Получается нестабильная работа двух устройств. Заставить не начинать работать одному устройству, пока другое устройство не завершило работу не получилось.
3. Если использовать 2 канала SPI1 и SPI2, подсоеденив к каждому по устройству, проблем нет.
@mihayk у меня там как раз I2C, в том варианте библиотеки что скидывал, сто процентов работает, сам использовал.
В этой библиотеке не хватает flash.h И некоторые объявления перемнных типа MPU9250_Sensor. Можете скинуть весь проект целиком? так я разберусь быстрее...
@mihayk Да проект коммерческий был, не могу скинуть в первозданном виде... Там надо выкинуть работу с flash-памятью, калибровочные данные сохранялись. MPU9250_Sensor: