intmain(void) { /* USER CODE BEGIN 1 */ float pitch,roll,yaw; //欧拉角 short aacx,aacy,aacz; //加速度传感器原始数据 short gyrox,gyroy,gyroz; //陀螺仪原始数据 float temp; //温度
HAL_Init();
SystemClock_Config(); MX_GPIO_Init(); MX_I2C1_Init(); MX_USB_DEVICE_Init(); /* USER CODE BEGIN 2 */ MPU_Init(); mpu_dmp_init(); while (1) { /* USER CODE END WHILE */
/* USER CODE BEGIN 3 */ HAL_Delay(500); while (mpu_dmp_get_data(&pitch, &roll, &yaw)); //必须要用while等待,才能读取成功 MPU_Get_Accelerometer(&aacx, &aacy, &aacz); //得到加速度传感器数据 MPU_Get_Gyroscope(&gyrox, &gyroy, &gyroz); //得到陀螺仪数据 temp = MPU_Get_Temperature(); //得到温度信息 usb_printf("roll:%.2f pitch:%.2f yaw:%.2f\r\n", roll, pitch, yaw);//串口1输出采集信息 } /* USER CODE END 3 */ }