水下机器人闭环环节

一直目前我写的 MPU6050 向前是

规定,纸面的左右是 x 轴,当这个 mpu6050 模块绕着 x 轴旋转的时候,此时产生的角是 roll,且如果上方向着纸面里面旋转,此时的 roll 角会越来越大,直到 90 度

再规定,纸面的上下形成一条直线,这个线称为 y 轴,此时 mpu6050 绕着这个轴旋转的时候,此时产生的角是 pitch, 且如果左边的边是向纸面里面旋进的,这个时候的 pitch 会越来越大,直到 90 度。

MPU6050 的初始化一定记得放在延时之前

res = MPU6050_DMP_Init();
	if(res!=0)
	{
		printf("MPU6050 Init ERROR res = %d \r\n",res);
		while(res)//这句话的意思是当res的值不为0时,一直保持while循环
		{
			HAL_Delay(300);
			res = MPU6050_DMP_Init();
			printf("MPU6050 Init ERROR res=%d \r\n ",res);
		}
		printf("MPU6050 Init SUCCEED! \r\n");
	}
	else 
	{
		printf("MPU6050 Init SUCCEED! \r\n");
	}
	HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_1);
	HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_2);
	__HAL_TIM_SetCompare(&htim1, TIM_CHANNEL_1, 1500);
	__HAL_TIM_SetCompare(&htim1, TIM_CHANNEL_2, 1500);
	HAL_Delay(5000);

应该这样写.