-
大小: 5.94MB文件類型: .zip金幣: 2下載: 0 次發布日期: 2023-11-15
- 語言: 其他
- 標簽: MPU6050??DMP??Calibration??
資源簡介
* Info: DMP 計算Pitch和Roll,關閉上電校準,使用水平面為絕對參考系
* Author: zhang
* Data: 2016/12
* Other: 1.DMP初始化慢,上電后保持8S穩定后才可使用
* 2.有矯正零飄功能,需啟用MPU6050_OFFSET_DEBUG宏為1,記錄絕對水平面偏置量,并重新寫入偏置量宏
* 3.下一版本可能增加依據內部溫度芯片修正溫飄
* 4.未添加HCM5883L修正YAW
* 5.動態性能較差,據說不穩定(DMP)
* 6.2016/12/4 改為LCD顯示
7.2016/12/11 修改DEBUG宏為1,改為按鍵選擇校準

代碼片段和文件信息
#?include?“I2Cdev.h“
//初始化IIC
void?IIC_Init(void)
{
??GPIO_InitTypeDef??GPIO_InitStructure;
??RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB?ENABLE);//使能GPIOB時鐘
??//GPIOB8B9初始化設置
??GPIO_InitStructure.GPIO_Pin?=?GPIO_Pin_8?|?GPIO_Pin_9;
??GPIO_InitStructure.GPIO_Mode?=?GPIO_Mode_OUT;//普通輸出模式
??GPIO_InitStructure.GPIO_OType?=?GPIO_OType_PP;//推挽輸出
??GPIO_InitStructure.GPIO_Speed?=?GPIO_Speed_100MHz;//100MHz
??GPIO_InitStructure.GPIO_PuPd?=?GPIO_PuPd_UP;//上拉
??GPIO_Init(GPIOB?&GPIO_InitStructure);//初始化
IIC_SCL=1;
IIC_SDA=1;
}
//??IIC????
void?IIC_Start(void)
{
SDA_OUT();?????//sda???
IIC_SDA=1; ?? ??
IIC_SCL=1;
delay_us(4);
? IIC_SDA=0;//START:when?CLK?is?highDATA?change?form?high?to?low?
delay_us(4);
IIC_SCL=0;//??I2C????????????
} ??
//??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(4);
IIC_SCL=1;?
IIC_SDA=1;//??I2C??????
delay_us(4); ???
}
//????????
//???:1??????
//????????0??????
u8?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>250)
{
IIC_Stop();
return?1;
}
}
IIC_SCL=0;//????0? ???
return?0;??
}?
//??ACK??
void?IIC_Ack(void)
{
IIC_SCL=0;
SDA_OUT();
IIC_SDA=0;
delay_us(2);
IIC_SCL=1;
delay_us(2);
IIC_SCL=0;
}
//???ACK?? ????
void?IIC_NAck(void)
{
IIC_SCL=0;
SDA_OUT();
IIC_SDA=1;
delay_us(2);
IIC_SCL=1;
delay_us(2);
IIC_SCL=0;
} ? ?????
//IIC??????
//????????
//1???
//0??? ??
void?IIC_Send_Byte(u8?txd)
{????????????????????????
????u8?t;???
SDA_OUT();? ????
????IIC_SCL=0;//??????????
????for(t=0;t<8;t++)
????{??????????????
????????IIC_SDA=(txd&0x80)>>7;
????????txd<<=1;? ??
delay_us(2);???//?TEA5767??????????
IIC_SCL=1;
delay_us(2);?
IIC_SCL=0;
delay_us(2);
????} ?
}? ????
//?1???ack=1???ACKack=0??nACK???
u8?IIC_Read_Byte(unsigned?char?ack)
{
unsigned?char?ireceive=0;
SDA_IN();//SDA?????
????for(i=0;i<8;i++?)
{
????????IIC_SCL=0;?
????????delay_us(2);
IIC_SCL=1;
????????receive<<=1;
????????if(READ_SDA)receive++;???
delay_us(1);?
????} ?
????if?(!ack)
????????IIC_NAck();//??nACK
????else
????????IIC_Ack();?//??ACK???
????return?receive;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2016-12-11?14:45??Gyro_DMP\
?????目錄???????????0??2016-12-11?14:45??Gyro_DMP\BSP\
?????文件????????2313??2016-12-11?14:45??Gyro_DMP\BSP\I2Cdev.c
?????文件?????????586??2016-12-11?14:45??Gyro_DMP\BSP\I2Cdev.h
?????文件????????2916??2016-12-11?14:45??Gyro_DMP\BSP\myusart.c
?????文件?????????165??2016-12-11?14:45??Gyro_DMP\BSP\myusart.h
?????目錄???????????0??2016-12-11?14:45??Gyro_DMP\CORE\
?????文件??????107370??2016-12-11?14:45??Gyro_DMP\CORE\core_cm4.h
?????文件???????22062??2016-12-11?14:45??Gyro_DMP\CORE\core_cm4_simd.h
?????文件???????16510??2016-12-11?14:45??Gyro_DMP\CORE\core_cmFunc.h
?????文件???????19825??2016-12-11?14:45??Gyro_DMP\CORE\core_cmInstr.h
?????文件???????29171??2016-12-11?14:45??Gyro_DMP\CORE\startup_stm32f40_41xxx.s
?????目錄???????????0??2016-12-11?14:45??Gyro_DMP\FWLIB\
?????目錄???????????0??2016-12-11?14:45??Gyro_DMP\FWLIB\inc\
?????文件????????6746??2016-12-11?14:45??Gyro_DMP\FWLIB\inc\misc.h
?????文件???????32224??2016-12-11?14:45??Gyro_DMP\FWLIB\inc\stm32f4xx_adc.h
?????文件???????26674??2016-12-11?14:45??Gyro_DMP\FWLIB\inc\stm32f4xx_can.h
?????文件????????2333??2016-12-11?14:45??Gyro_DMP\FWLIB\inc\stm32f4xx_crc.h
?????文件???????14097??2016-12-11?14:45??Gyro_DMP\FWLIB\inc\stm32f4xx_cryp.h
?????文件???????14642??2016-12-11?14:45??Gyro_DMP\FWLIB\inc\stm32f4xx_dac.h
?????文件????????4187??2016-12-11?14:45??Gyro_DMP\FWLIB\inc\stm32f4xx_dbgmcu.h
?????文件???????12665??2016-12-11?14:45??Gyro_DMP\FWLIB\inc\stm32f4xx_dcmi.h
?????文件???????28273??2016-12-11?14:45??Gyro_DMP\FWLIB\inc\stm32f4xx_dma.h
?????文件???????19217??2016-12-11?14:45??Gyro_DMP\FWLIB\inc\stm32f4xx_dma2d.h
?????文件????????7829??2016-12-11?14:45??Gyro_DMP\FWLIB\inc\stm32f4xx_exti.h
?????文件???????23979??2016-12-11?14:45??Gyro_DMP\FWLIB\inc\stm32f4xx_flash.h
?????文件????????3172??2016-12-11?14:45??Gyro_DMP\FWLIB\inc\stm32f4xx_flash_ramfunc.h
?????文件???????43781??2016-12-11?14:45??Gyro_DMP\FWLIB\inc\stm32f4xx_fmc.h
?????文件???????26506??2016-12-11?14:45??Gyro_DMP\FWLIB\inc\stm32f4xx_fsmc.h
?????文件???????23046??2016-12-11?14:45??Gyro_DMP\FWLIB\inc\stm32f4xx_gpio.h
?????文件????????9827??2016-12-11?14:45??Gyro_DMP\FWLIB\inc\stm32f4xx_hash.h
............此處省略179個文件信息
評論
共有 條評論