qmc5883l接在mpu6500的辅助传感器接口上,该怎样获取qmc5883l的数据 #10767
Unanswered
laigerousongmianbao
asked this question in
Q&A
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
esp_err_t mpu6500_i2c_master_write(uint8_t dev_addr, uint8_t reg_addr, uint8_t data)
{
// 使用I2C_SLV0写操作,确保写操作标志(最高位为0)
mpu6500_write_reg(I2C_SLV0_CTRL, 0x80);
mpu6500_write_reg(I2C_SLV0_ADDR, dev_addr & 0x7F);
mpu6500_write_reg(I2C_SLV0_REG, reg_addr);
mpu6500_write_reg(I2C_SLV0_DO, data);
}
esp_err_t mpu6500_i2c_master_read(uint8_t dev_addr, uint8_t reg_addr, uint8_t *data, size_t len)
{
// 配置从设备0进行读操作
mpu6500_write_reg(I2C_SLV0_CTRL, 0x80 | len); // 使能读取并设置长度
mpu6500_write_reg(I2C_SLV0_ADDR, dev_addr | 0x80); // 置位最高位表示读操作
mpu6500_write_reg(I2C_SLV0_REG, reg_addr);
}我是这样写的但不对。
寄存器是这样配置的
// 启用I2C主模式
mpu6500_write_reg(USER_CTRL, 0x20);
vTaskDelay(pdMS_TO_TICKS(10));
有没有人知道该怎么做
Beta Was this translation helpful? Give feedback.
All reactions