如题,希望大神们和原子哥提供个方法解决.还希望谁能给我解释哈这段代码
[mw_shl_code=c,true]if(mpu_dmp_get_data(&pitch,&roll,&yaw)==0)
{
temp=MPU_Get_Temperature(); //??????????
MPU_Get_Accelerometer(&aacx,&aacy,&aacz); //???????????????÷????
MPU_Get_Gyroscope(&gyrox,&gyroy,&gyroz); //??????????????
if(report)mpu6050_send_data(aacx,aacy,aacz,gyrox,gyroy,gyroz);//??×??¨????·?????????????????????????
if(report)usart1_report_imu(aacx,aacy,aacz,gyrox,gyroy,gyroz,(int)(roll*100),(int)(pitch*100),(int)(yaw*10));
if((t%10)==0)//??100ms????????
{
if(temp<0)
{
LCD_ShowChar(30+48,200,'-',16,0); //????????
temp=-temp; //×???????
}else LCD_ShowChar(30+48,200,' ',16,0); //????????
LCD_ShowNum(30+48+8,200,temp/100,3,16); //??????????·?
LCD_ShowNum(30+48+40,200,temp%10,1,16); //??????????·?
temp=pitch*10;
if(temp<0)
{
LCD_ShowChar(30+48,220,'-',16,0); //????????
temp=-temp; //×???????
}else LCD_ShowChar(30+48,220,' ',16,0); //????????
LCD_ShowNum(30+48+8,220,temp/10,3,16); //??????????·?
LCD_ShowNum(30+48+40,220,temp%10,1,16); //??????????·?
temp=roll*10;
if(temp<0)
{
LCD_ShowChar(30+48,240,'-',16,0); //????????
temp=-temp; //×???????
}else LCD_ShowChar(30+48,240,' ',16,0); //????????
LCD_ShowNum(30+48+8,240,temp/10,3,16); //??????????·?
LCD_ShowNum(30+48+40,240,temp%10,1,16); //??????????·?
temp=yaw*10;
if(temp<0)
{
LCD_ShowChar(30+48,260,'-',16,0); //????????
temp=-temp; //×???????
}else LCD_ShowChar(30+48,260,' ',16,0); //????????
LCD_ShowNum(30+48+8,260,temp/10,3,16); //??????????·?
LCD_ShowNum(30+48+40,260,temp%10,1,16); //??????????·?
t=0;
LED1=!LED1;//LED????
}[/mw_shl_code]
[mw_shl_code=c,true]这哪段代码是显示欧拉角值的,完全看不懂啊.[/mw_shl_code]
[mw_shl_code=c,true]1.temp=pitch*10,temp=yaw*10,temp=roll*10,这三段的意思是什么?变量递归调用吗?在线等[/mw_shl_code]
[mw_shl_code=c,true]2.感觉好像没有显示参数啊,当得到的值是负数之后就没有显示了啊,是因为我忽略了UCOS的原因吗?在线等[/mw_shl_code]
[mw_shl_code=c,true]3.感觉F4的例程里只用了UCOS将数据通过串口发送给上位机,没有显示方面的?[/mw_shl_code]
|