OpenEdv-开源电子网

标题: 关于MPU6050初始化寄存器数据写入与读出不相符 [打印本页]

作者: zzns    时间: 2019-2-19 15:52
标题: 关于MPU6050初始化寄存器数据写入与读出不相符
各位有没有遇到,在初始化6050的时候,写入配置参数,然后读出不一样的情况?你们是怎么处理的?比如说:我是这样
oid MPU6050lib::initMPU6050()
{
  uint8_t c = 0;
  delay(1000);
  for(;;)
  {
    WriteByte(MPU6050_ADDRESS, PWR_MGMT_1, 0x80); //reset device
    delay(100);
    c =  ReadByte(MPU6050_ADDRESS, PWR_MGMT_1);
    if(c != 0x40)   //有时候都出来不是0X80,所以继续执行上一步,
      continue;
    delay(100);
    WriteByte(MPU6050_ADDRESS, PWR_MGMT_1, 0x00);  
    WriteByte(MPU6050_ADDRESS, PWR_MGMT_1, 0x01);   
    delay(100);
    c =  ReadByte(MPU6050_ADDRESS, PWR_MGMT_1);
    //printf("%x, %x\n", c, 0x01);
    if(c != 0x01)
      break;
(一部分代码而已,如果顺利最终是要跳出循环,则初始化完毕)



作者: 正点原子    时间: 2019-2-20 01:33
帮顶




欢迎光临 OpenEdv-开源电子网 (http://47.111.11.73/) Powered by Discuz! X3.4