Пример #1
0
/**
  * @brief   
  * @param   
  * @retval  
**/
unsigned char mpu6050_read_zero_offsent(void)
{
  static unsigned char check_num=0;
  static unsigned int Acce_offsent_X  ,	 Acce_offsent_Y , Acce_offsent_Z;
  static unsigned int Gyro_offsent_X  ,	 Gyro_offsent_Y , Gyro_offsent_Z;
  if(check_num==0)
  {
	 memset((int8_t *)&mpu6050_zero_offsent,0,14);
   }
   if(check_num<200)
   {
	mpu6050_read_data();						//读一次mpu6050内部数据
	Acce_offsent_X +=	mpu6050_ramdata.Acce[0];
    Acce_offsent_Y +=	mpu6050_ramdata.Acce[1];
	Acce_offsent_Z +=	mpu6050_ramdata.Acce[2];
	Gyro_offsent_X +=	mpu6050_ramdata.Gyro[0];
    Gyro_offsent_Y +=	mpu6050_ramdata.Gyro[1];
	Gyro_offsent_Z +=	mpu6050_ramdata.Gyro[2];
	check_num++;
	printf("%d	%d	%d	%d	%d	%d\n\r",mpu6050_ramdata.Acce[0],mpu6050_ramdata.Acce[1],mpu6050_ramdata.Acce[2],
	mpu6050_ramdata.Gyro[0] ,mpu6050_ramdata.Gyro[1],mpu6050_ramdata.Gyro[2]);
	return FALSE;
   }
    check_num=0	 ;
	mpu6050_zero_offsent.Acce[0] =Acce_offsent_X /check_num;
    mpu6050_zero_offsent.Acce[1] =Acce_offsent_Y /check_num;
	mpu6050_zero_offsent.Acce[2] =Acce_offsent_Z /check_num;

	mpu6050_zero_offsent.Gyro[0] =Gyro_offsent_X /check_num;
    mpu6050_zero_offsent.Gyro[1] =Gyro_offsent_Y /check_num;
	mpu6050_zero_offsent.Gyro[2] =Gyro_offsent_Z /check_num;
	return TRUE;
}
Пример #2
0
static int mpu6050_read_accel(struct mpu6050_data *mpu6050)
{
    return mpu6050_read_data(mpu6050, 1);
}
Пример #3
0
static int mpu6050_read_temprature(struct mpu6050_data *mpu6050)
{
    return mpu6050_read_data(mpu6050, 2);
}
Пример #4
0
static int mpu6050_read_gyro(struct mpu6050_data *mpu6050)
{
    return mpu6050_read_data(mpu6050, 0);
}