-
大小: 545KB文件類型: .rar金幣: 2下載: 0 次發布日期: 2021-05-12
- 語言: 其他
- 標簽: mpu6050dmp??
資源簡介
利用mpu6050官方dmp庫讀取四元數和pitch,roll,yaw,簡單實用
利用mpu6050官方dmp庫讀取四元數和pitch,roll,yaw,簡單實用

代碼片段和文件信息
#include?“IIC.h“
#include?“sys.h“
#define?SCL??PBout(8)????//???GPIOE->BSRR?=?GPIO_Pin_8?/*?GPIO_SetBits(GPIOB??GPIO_Pin_10)???*/
//#define?SCL=0?????????GPIOE->BRR??=?GPIO_Pin_8?/*?GPIO_ResetBits(GPIOB??GPIO_Pin_10)?*/
#define?SDA??PBout(9)//???GPIOE->BSRR?=?GPIO_Pin_9?/*?GPIO_SetBits(GPIOB??GPIO_Pin_11)???*/
//#define?SDA=0?????????GPIOE->BRR??=?GPIO_Pin_9?/*?GPIO_ResetBits(GPIOB??GPIO_Pin_11)?*/
//#define?SCL_read??????GPIOE->IDR??&?GPIO_Pin_8?/*?GPIO_ReadInputDataBit(GPIOB??GPIO_Pin_10)?*/
#define?SDA_read??PBin(9)//???GPIOE->IDR??&?GPIO_Pin_9?/*?GPIO_ReadInputDataBit(GPIOB??GPIO_Pin_11)?*/
static?void?I2C_delay(void)
{
????volatile?int?i?=?7;
????while?(i)
????????i--;
}
static?u8?I2C_Start(void)
{
????SDA=1;
????SCL=1;
????I2C_delay();
????if?(!SDA_read)
????????return?false;
????SDA=0;
????I2C_delay();
????if?(SDA_read)
????????return?false;
????SDA=0;
????I2C_delay();
????return?true;
}
static?void?I2C_Stop(void)
{
????SCL=0;
????I2C_delay();
????SDA=0;
????I2C_delay();
????SCL=1;
????I2C_delay();
????SDA=1;
????I2C_delay();
}
static?void?I2C_Ack(void)
{
????SCL=0;
????I2C_delay();
????SDA=0;
????I2C_delay();
????SCL=1;
????I2C_delay();
????SCL=0;
????I2C_delay();
}
static?void?I2C_NoAck(void)
{
????SCL=0;
????I2C_delay();
????SDA=1;
????I2C_delay();
????SCL=1;
????I2C_delay();
????SCL=0;
????I2C_delay();
}
static?u8?I2C_WaitAck(void)
{
????SCL=0;
????I2C_delay();
????SDA=1;
????I2C_delay();
????SCL=1;
????I2C_delay();
????if?(SDA_read)?{
????????SCL=0;
????????return?false;
????}
????SCL=0;
????return?true;
}
static?void?I2C_SendByte(u8?byte)
{
????u8?i?=?8;
????while?(i--)?{
????????SCL=0;
????????I2C_delay();
????????if?(byte?&?0x80)
????????????SDA=1;
????????else
????????????SDA=0;
????????byte?<<=?1;
????????I2C_delay();
????????SCL=1;
????????I2C_delay();
????}
????SCL=0;
}
static?u8?I2C_ReceiveByte(void)
{
????u8?i?=?8;
????u8?byte?=?0;
????SDA=1;
????while?(i--)?{
????????byte?<<=?1;
????????SCL=0;
????????I2C_delay();
????????SCL=1;
????????I2C_delay();
????????if?(SDA_read)?{
????????????byte?|=?0x01;
????????}
????}
????SCL=0;
????return?byte;
}
void?i2cInit(void)
{
RCC->APB2ENR|=1<<6;???//使能PORTE口時鐘??
GPIOB->CRH&=0XFFFFFF00;?
GPIOB->CRH|=0X00000055;//IO狀態設置
}
u8?i2cWriteBuffer(u8?addr?u8?reg?u8?len?u8?*?data)
{
????int?i;
????if?(!I2C_Start())
????????return?false;
????I2C_SendByte(addr?<1?|?I2C_Direction_Transmitter);
????if?(!I2C_WaitAck())?{
????????I2C_Stop();
????????return?false;
????}
????I2C_SendByte(reg);
????I2C_WaitAck();
????for?(i?=?0;?i?????????I2C_SendByte(data[i]);
????????if?(!I2C_WaitAck())?{
????????????I2C_Stop();
????????????return?false;
????????}
????}
????I2C_Stop();
????return?true;
}
/////////////////////////////////////////////////////////////////////////////////
int?i2cwrite(u8?addr?u8?reg?u8?len?u
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????4449??2017-02-26?15:26??MPU6050(dmp版)\MPU6050(庫函數版dmp)\HARDWARE\IIC\IIC.c
?????文件???????1766??2013-08-24?16:07??MPU6050(dmp版)\MPU6050(庫函數版dmp)\HARDWARE\IIC\IIC.h
?????文件??????19342??2012-12-14?11:16??MPU6050(dmp版)\MPU6050(庫函數版dmp)\HARDWARE\MPU6050\dmpKey.h
?????文件???????6765??2012-12-14?11:16??MPU6050(dmp版)\MPU6050(庫函數版dmp)\HARDWARE\MPU6050\dmpmap.h
?????文件??????86454??2017-02-26?15:37??MPU6050(dmp版)\MPU6050(庫函數版dmp)\HARDWARE\MPU6050\inv_mpu.c
?????文件???????4651??2013-08-24?21:48??MPU6050(dmp版)\MPU6050(庫函數版dmp)\HARDWARE\MPU6050\inv_mpu.h
?????文件??????58416??2017-04-23?09:10??MPU6050(dmp版)\MPU6050(庫函數版dmp)\HARDWARE\MPU6050\inv_mpu_dmp_motion_driver.c
?????文件???????3538??2013-06-13?16:52??MPU6050(dmp版)\MPU6050(庫函數版dmp)\HARDWARE\MPU6050\inv_mpu_dmp_motion_driver.h
?????文件????????399??2011-04-23?10:24??MPU6050(dmp版)\MPU6050(庫函數版dmp)\keilkilll.bat
?????文件???????2067??2013-04-03?12:14??MPU6050(dmp版)\MPU6050(庫函數版dmp)\SYSTEM\delay\delay.c
?????文件????????905??2013-04-03?12:14??MPU6050(dmp版)\MPU6050(庫函數版dmp)\SYSTEM\delay\delay.h
?????文件???????2225??2009-05-07?14:42??MPU6050(dmp版)\MPU6050(庫函數版dmp)\SYSTEM\sys\cortexm3_macro.h
?????文件???????6194??2009-05-07?14:42??MPU6050(dmp版)\MPU6050(庫函數版dmp)\SYSTEM\sys\stm32f10x_conf.h
?????文件???????4529??2012-12-18?12:35??MPU6050(dmp版)\MPU6050(庫函數版dmp)\SYSTEM\sys\stm32f10x_it.h
?????文件??????28290??2009-05-07?14:42??MPU6050(dmp版)\MPU6050(庫函數版dmp)\SYSTEM\sys\stm32f10x_map.h
?????文件??????19198??2009-05-07?14:42??MPU6050(dmp版)\MPU6050(庫函數版dmp)\SYSTEM\sys\stm32f10x_nvic.h
?????文件???????3388??2009-05-07?14:42??MPU6050(dmp版)\MPU6050(庫函數版dmp)\SYSTEM\sys\stm32f10x_type.h
?????文件???????6854??2013-04-03?12:13??MPU6050(dmp版)\MPU6050(庫函數版dmp)\SYSTEM\sys\sys.c
?????文件???????3868??2013-04-03?12:13??MPU6050(dmp版)\MPU6050(庫函數版dmp)\SYSTEM\sys\sys.h
?????文件???????3592??2013-08-24?20:35??MPU6050(dmp版)\MPU6050(庫函數版dmp)\SYSTEM\usart\usart.c
?????文件???????1132??2013-08-24?20:28??MPU6050(dmp版)\MPU6050(庫函數版dmp)\SYSTEM\usart\usart.h
?????文件?????196608??2014-10-11?15:49??MPU6050(dmp版)\MPU6050(庫函數版dmp)\Unti
?????文件???????2248??2014-10-11?15:49??MPU6050(dmp版)\MPU6050(庫函數版dmp)\Unti
?????文件??????65536??2014-10-11?15:49??MPU6050(dmp版)\MPU6050(庫函數版dmp)\Unti
?????文件????????968??2014-10-11?15:49??MPU6050(dmp版)\MPU6050(庫函數版dmp)\Unti
?????文件????????156??2014-10-11?21:13??MPU6050(dmp版)\MPU6050(庫函數版dmp)\Unti
?????文件????????776??2014-10-11?21:13??MPU6050(dmp版)\MPU6050(庫函數版dmp)\Unti
?????文件??????12680??2014-10-11?15:50??MPU6050(dmp版)\MPU6050(庫函數版dmp)\Unti
?????文件??????79448??2014-10-11?15:50??MPU6050(dmp版)\MPU6050(庫函數版dmp)\Unti
?????文件?????482112??2014-10-11?15:50??MPU6050(dmp版)\MPU6050(庫函數版dmp)\Unti
............此處省略62個文件信息
- 上一篇:tensorflow 五種花朵分類識別
- 下一篇:使用opengl畫桌子+球+地板
評論
共有 條評論