初级会员

- 积分
- 94
- 金钱
- 94
- 注册时间
- 2017-6-15
- 在线时间
- 23 小时
|
10金钱
本帖最后由 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)语句出了问题。
请指教
|
最佳答案
查看完整内容[请看2#楼]
换了一个十几块的最普通的6050就可以了,之前的是自带卡尔曼滤波的一个6050 ,50来块,串口输出姿态数据OK的,我读它的i2c脚就不大正常,暂不知为何。
|