MPU6050 DMP直接读出四元数,然后计算出欧拉角 适用mini板

2019-08-17 00:30发布

    经过移植,终于可以在MINI板上运行了,买的MPU6050模块,AD0直接接开发板GND,SCL接开发板PC12,SDA接开发板PC11,VCC接开发板+5V,GND接开发板GND,其它的不接,上位机软件附件里面也有
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
49条回答
柴桑
1楼-- · 2019-08-18 12:37
 精彩回答 2  元偷偷看……
合肥-文盲
2楼-- · 2019-08-18 13:12
回复【14楼】柴桑:
---------------------------------
因为加速度计只能矫正roll和pitch,实际上不管自己操作还是DMP,他也只矫正了roll、pitch,加速度计就这能力,对于yaw,加速度计无能为力
左兆瑞
3楼-- · 2019-08-18 17:09
回复【4楼】合肥-文盲:
---------------------------------
楼主,我想用1602显示,可是全是0,我的II2C设置如下;
//IO方向设置
#define SDA_IN()  {GPIOB->CRL&=0X0FFFFFFF;GPIOB->CRL|=8<<28;} 
#define SDA_OUT() {GPIOB->CRL&=0X0FFFFFFF;GPIOB->CRL|=3<<28;}

//IO操作函数  
#define IIC_SCL    Bout(6) //SCL
#define IIC_SDA    Bout(7) //SDA  
#define READ_SDA   Bin(7)  //输入SDA 



void IIC_Init(void)
{      
GPIO_InitTypeDef GPIO_InitStructure;
//RCC->APB2ENR|=1<<4;//先使能外设IO ORTC时钟 
RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB, ENABLE );
   
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6|GPIO_Pin_7;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP ;   //推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
 
IIC_SCL=1;
IIC_SDA=1;
}


谢谢
左兆瑞
4楼-- · 2019-08-18 22:57
下面是我的工程,改正了上面的

//IO操作函数  
#define IIC_SCL    Bout(6) //SCL
#define IIC_SDA    Bout(7) //SDA  
#define READ_SDA   PBin(7)  //输入SDA 

还是000
5楼-- · 2019-08-19 02:22
是不是通过dmp读出来的roll和pitch,就不用卡尔曼滤波只是简单地滤一下波就可以了,可以直接拿来用
合肥-文盲
6楼-- · 2019-08-19 03:40
 精彩回答 2  元偷偷看……

一周热门 更多>