Gy9250 и программный i2c
- Войдите на сайт для отправки комментариев
Сб, 30/10/2021 - 17:38
Пытаюсь запустить GY9250 по програмному i2c. Доходит до mpu.setup, но условие в цикле не выполняется т.к. mpu.available() = 0. Код такой
#include <MPU9250.h> #include <SoftWire.h> MPU9250_<SoftWire> mpu; SoftWire sw(A1, A2); //SDA SCL char swTxBuffer[64]; char swRxBuffer[64]; void setup() { sw.setTxBuffer(swTxBuffer, sizeof(swTxBuffer)); sw.setRxBuffer(swRxBuffer, sizeof(swRxBuffer)); sw.setDelay_us(5); sw.setTimeout(1000); sw.begin(); Serial.begin(115200); Serial.print("Init.... "); MPU9250Setting setting; setting.accel_fs_sel = ACCEL_FS_SEL::A16G; setting.gyro_fs_sel = GYRO_FS_SEL::G2000DPS; setting.mag_output_bits = MAG_OUTPUT_BITS::M16BITS; setting.fifo_sample_rate = FIFO_SAMPLE_RATE::SMPL_200HZ; setting.gyro_fchoice = 0x03; setting.gyro_dlpf_cfg = GYRO_DLPF_CFG::DLPF_41HZ; setting.accel_fchoice = 0x01; setting.accel_dlpf_cfg = ACCEL_DLPF_CFG::DLPF_45HZ; mpu.setup(0x68, setting, sw); Serial.println("done"); Serial.println(mpu.isConnectedMPU9250()); pinMode(13, OUTPUT); } void loop() { if (mpu.update()) { Serial.print(mpu.getYaw()); Serial.print(" "); Serial.print(mpu.getPitch()); Serial.print(" "); Serial.println(mpu.getRoll()); } delay(20); }
Анализатор после mpu.setup молчит. Помогите запустить :)
PS проблему также можно решить сделав ардуину ведомым устройством по программному i2c на частоте 400кгц.
А где цикл?
А по аппаратному i2c mpu запускается?
А по аппаратному i2c mpu запускается?
Да, без проблем
loop()?
Была у меня давненько проблема с одним сенсором и SoftWire.
Оказалось, что в библиотеке проблема. Почитал issues на гитхабе, обновился и все поехало.
когда смотришь как устроен девайс и какими задачами занимается внутренний микропроцессор все остальные проблемы его использования кажутся такими мелкими )))
Библиотека самая новая. Вчера скачал
Не, ну если аппаратный работает, то остается только два варианта:
- ошибка в библиотеке,
- ошибка в использовании библиотеки.
То, новая библиотека или старая, и когда последний раз скачана, не имеет никакой роли.
- ошибка в использовании библиотеки.
По примеру с гитхаба делаю.
К счастью я уже придумал как перевести эту часть на SPI.