91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

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


評論

共有 條評論