int main(void)
{
float pitch,roll,yaw; //欧拉角
short aacx,aacy,aacz; //加速度传感器原始数据
short gyrox,gyroy,gyroz; //陀螺仪原始数据
short temp; //温度
uint32_t GetData=1,t;
App_ClkInit();
MPU_IIC_Init();
MPU_Inits();
Uart_init();
printf("\r\nHC32L136K8T6 8K RAM 64K ROM\r\n");
if(mpu_dmp_init() == 0)
printf("\r\n MPU 6050 OK\r\n");
else
printf("\r\n MPU 6050 ERR!!!!!!\r\n");
printf(" Read_Temperature %d\r\n",MPU_Get_Temperature());
while(1)
{
if(mpu_dmp_get_data(&pitch,&roll,&yaw)==0)
{
MPU_Get_Accelerometer(&aacx,&aacy,&aacz); //得到加速度传感器数据
MPU_Get_Gyroscope(&gyrox,&gyroy,&gyroz); //得到陀螺仪数据
t++;
if((t%10)==0)
{
t=0;
}
if(GetData)//(GetData=0时 用于USMART调试MPU6050寄存器)
{
mpu6050_send_data(aacx,aacy,aacz,gyrox,gyroy,gyroz);//用自定义帧发送加速度和陀螺仪原始数据
usart1_report_imu(aacx,aacy,aacz,gyrox,gyroy,gyroz,(int)(roll*100),(int)(pitch*100),(int)(yaw*10));//发送数据到上位机
}
}
}
}
MPU6050华大单片机移植 可跑
最新推荐文章于 2023-03-29 17:39:15 发布