最近一周心情都很暗淡,因为这个MPU6050
我把正点原子的程序放在了F103VCT6上运行,程序是这样的
[mw_shl_code=c,true]while(1)
{
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));
printf("aa");
}
printf("bb");
} [/mw_shl_code]
但是串口只能打印出来b,却打印不出来a
于是我把mpu_dmp_get_data(&pitch,&roll,&yaw)==0改成了1;
这时候a和b就都能打印出来
然后我进入了那个函数
[mw_shl_code=c,true]u8 mpu_dmp_get_data(float *pitch,float *roll,float *yaw)
{
float q0=1.0f,q1=0.0f,q2=0.0f,q3=0.0f;
unsigned long sensor_timestamp;
short gyro[3], accel[3], sensors;
unsigned char more;
long quat[4];
if(dmp_read_fifo(gyro, accel, quat, &sensor_timestamp, &sensors,&more))return 1; [/mw_shl_code]
后面还有代码我就省略了,这时候我发现是dmp_read_fifo的问题
这个问题大家遇到过吗?我应该怎么办?
|