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
-
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