本帖最后由 sc1884 于 2017-11-16 19:56 编辑
一块407zg板子,接了个6050,其其余初始化正常,但是最后无法读出数据,mpu_dmp_get_data语句进不去mpu_dmp_get_data->dmp_read_fifo->mpu_read_fifo_stream->if (!st.chip_cfg.dmp_on) 这里的问题
具体如下
if(mpu_dmp_get_data(&pitch,&roll,&yaw)==0)
这行代码始终进不去if,跟进去看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;
到这里就返回了,dmp_read_fifo这个函数里面有个
if (mpu_read_fifo_stream(dmp.packet_length, fifo_data, more))
int mpu_read_fifo_stream(unsigned short length, unsigned char *data, unsigned char *more)
{
unsigned char tmp[2];
unsigned short fifo_count;
if (!st.chip_cfg.dmp_on)
return -1;
最终是if (!st.chip_cfg.dmp_on)语句出了问题。
请指教
一周热门 更多>