• 大小: 45KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-14
  • 语言: 其他
  • 标签: MPU6050  DMP  STM32  C语言  

资源简介

MPU6050获取角度值,一般使用DMP/卡尔曼滤波/互补滤波对原始数据进行处理。
DMP是MPU6050自带的用于运动处理的。
简单易移植且处理后得到的数据稳定性很好。
适用于智能车,四轴这类东西。
文档里有MPU6050库文件,IIC库文件,修改后的DMP库文件以及对应的main.c文件。

资源截图

代码片段和文件信息

#include “i2c.h“
#include “sys.h“
#include “delay.h“
  /**************************************************************************
作者:平衡小车之家
我的淘宝小店:http://shop114407458.taobao.com/
**************************************************************************/
/**************************实现函数********************************************
*函数原型: void IIC_Init(void)
*功  能: 初始化I2C对应的接口引脚。
*******************************************************************************/
void IIC_Init(void)
{
  GPIO_InitTypeDef GPIO_InitStructure;
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB ENABLE); //使能PB端口时钟
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8|GPIO_Pin_9; //端口配置
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;      //推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;     //50M
  GPIO_Init(GPIOB &GPIO_InitStructure);       //根据设定参数初始化GPIOB 
}

/**************************实现函数********************************************
*函数原型: void IIC_Start(void)
*功  能: 产生IIC起始信号
*******************************************************************************/
int IIC_Start(void)
{
SDA_OUT();     //sda线输出
IIC_SDA=1;
if(!READ_SDA)return 0;
IIC_SCL=1;
delay_us(1);
  IIC_SDA=0;//START:when CLK is highDATA change form high to low 
if(READ_SDA)return 0;
delay_us(1);
IIC_SCL=0;//钳住I2C总线,准备发送或接收数据 
return 1;
}

/**************************实现函数********************************************
*函数原型: void IIC_Stop(void)
*功  能:     //产生IIC停止信号
*******************************************************************************/   
void IIC_Stop(void)
{
SDA_OUT();//sda线输出
IIC_SCL=0;
IIC_SDA=0;//STOP:when CLK is high DATA change form low to high
  delay_us(1);
IIC_SCL=1; 
IIC_SDA=1;//发送I2C总线结束信号
delay_us(1);    
}

/**************************实现函数********************************************
*函数原型: u8 IIC_Wait_Ack(void)
*功  能:     等待应答信号到来 
//返回值:1,接收应答失败
//        0,接收应答成功
*******************************************************************************/
int IIC_Wait_Ack(void)
{
u8 ucErrTime=0;
SDA_IN();      //SDA设置为输入  
IIC_SDA=1;
delay_us(1);    
IIC_SCL=1;
delay_us(1);  
while(READ_SDA)
{
ucErrTime++;
if(ucErrTime>50)
{
IIC_Stop();
return 0;
}
  delay_us(1);
}
IIC_SCL=0;//时钟输出0     
return 1;  


/**************************实现函数********************************************
*函数原型: void IIC_Ack(void)
*功  能:     产生ACK应答
*******************************************************************************/
void IIC_Ack(void)
{
IIC_SCL=0;
SDA_OUT();
IIC_SDA=0;
delay_us(1);
IIC_SCL=1;
delay_us(1);
IIC_SCL=0;
}

/**************************实现函数********************************************
*函数原型: void IIC_NAck(void)
*功  能:     产生NACK应答
*******************************************************************************/     
void IIC_NAck(void)
{
IIC_SCL=0;
SDA_OUT();
IIC_SDA=1;
delay_us(1);
IIC_SCL=1;
delay_us(1);
IIC_SCL=0;
}
/*

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      19342  2012-12-14 11:16  MPU6050(STM32)\DMP\dmpKey.h

     文件       6765  2012-12-14 11:16  MPU6050(STM32)\DMP\dmpmap.h

     文件      89471  2019-12-28 19:55  MPU6050(STM32)\DMP\inv_mpu.c

     文件       4865  2015-01-17 12:09  MPU6050(STM32)\DMP\inv_mpu.h

     文件      58389  2019-12-28 20:24  MPU6050(STM32)\DMP\inv_mpu_dmp_motion_driver.c

     文件       3538  2012-12-14 11:16  MPU6050(STM32)\DMP\inv_mpu_dmp_motion_driver.h

     文件      11039  2019-12-28 14:52  MPU6050(STM32)\i2c.c

     文件       3114  2019-12-28 14:52  MPU6050(STM32)\i2c.h

     文件        674  2020-02-14 16:19  MPU6050(STM32)\main.c

     文件       5737  2019-12-28 20:18  MPU6050(STM32)\mpu6050.c

     文件      14794  2019-12-28 14:55  MPU6050(STM32)\mpu6050.h

     目录          0  2019-12-28 20:24  MPU6050(STM32)\DMP

     目录          0  2020-02-14 16:18  MPU6050(STM32)

----------- ---------  ---------- -----  ----

               217728                    13


评论

共有 条评论