资源简介
STM32单片机,使用keil4编写的MPU6050加速度计和陀螺仪驱动代码,经过测试,代码遵守燕骏编程规范v3.0(已上传CSDN)
代码片段和文件信息
/*
***********************************************************************
* YanJunFly V1.0 - Copyright (c) 2017
* All rights reserved.More information please browse www.yanjuntech.cn
* 燕骏智控——以极客技术推进工程教育
* 手把手教你,如何从头开始做一个电子设计类项目。
* 我们将以 四轴飞行器 为项目载体,带领大家进行项目式学习做出属于自己的四旋翼。
*
* 文件名称:mpu6050.c mpu6050.h
* 文件摘要:mpu6050数据读取,需要时调用读取函数,必须放在磁力计初始化前
* 注意事项:必须放在磁力计初始化前
*
* 当前版本:v1.0
* 当前作者:YJ_王洪志
* 完成日期:2018年1月21日 15:12:17
* 改动说明:创建文件
*
* 取代版本:无
* 原 作 者:YJ_王洪志
* 完成日期:2018年1月21日 15:12:17
************************************************************************
*/
#include “./Mpu6050/mpu6050.h“
/*
***********************************************************************
*函数名称:ErrorStatus xMPU6050_WriteReg(uint8_t uc_RegAddr uint8_t uc_Data)
*函数功能:向MPU6050写入数据
*
*使用说明:无
*入口参数:uc_RegAddr:寄存器地址 uc_Data:数据
*返 回 值:SUCCESS:成功 ERROR:失败
*
*函数作者:王洪志
*创建日期:2018年1月20日 11:10:42
***********************************************************************
*/
ErrorStatus xMPU6050_WriteReg(uint8_t uc_RegAddr uint8_t uc_Data)
{
if(xI2C_Write(MPU6050_SLAVE_ADDRESS uc_RegAddr &uc_Data 1) == SUCCESS)
{
return SUCCESS;
}
else
{
return ERROR;
}
}
/*
***********************************************************************
*函数名称:ErrorStatus xMPU6050_ReadReg(uint8_t uc_RegAddr uint8_t *ucp_Data uint8_t uc_Length)
*函数功能:从MPU6050读取一个数据
*
*使用说明:无
*入口参数:uc_RegAddr:寄存器地址 ucp_Data:储存数据的地址 uc_Length:数据长度
*返 回 值:SUCCESS:成功 ERROR:失败
*
*函数作者:王洪志
*创建日期:2018年1月20日 11:12:19
***********************************************************************
*/
ErrorStatus xMPU6050_ReadReg(uint8_t uc_RegAddr uint8_t *ucp_Data uint8_t uc_Length)
{
if(xI2C_Read(MPU6050_SLAVE_ADDRESS uc_RegAddr ucp_Data uc_Length) == SUCCESS)
{
return SUCCESS;
}
else
{
return ERROR;
}
}
/*
***********************************************************************
*函数名称:ErrorStatus xMPU6050_Init(void)
*函数功能:初始化MPU6050
*
*使用说明:无
*入口参数:无
*返 回 值:SUCCESS:初始化成功 ERROR:初始化失败
*
*函数作者:王洪志
*创建日期:2018年1月20日 11:12:37
***********************************************************************
*/
ErrorStatus xMPU6050_Init(void)
{
uint8_t uc_ID;
int i = 0 j = 0;
/*延时等待上电完成*/
for(i = 0; i < 1000; i++)
{
for(j = 0; j < 1000; j++)
{
}
}
vMPU6050_ReadID(&uc_ID);
if(uc_ID == MPU6050_ID)
{
/*配置电源管理寄存器 唤醒芯片*/
xMPU6050_WriteReg(MPU6050_PWR_MGMT_1 0x00);
/*配置采样率分频值,设定输出速率为1k*/
xMPU6050_WriteReg(MPU6050_SMPRT_DIV 0x00);
/*配置低通滤波器带宽21Hz 延时8.5ms*/
xMPU6050_WriteReg(MPU6050_CONFIG 0x04);
/*配置陀螺仪不自检,量程 ±500°/S*/
xMPU6050_WriteReg(MPU6050_CYRO_CONFIG 0x08);
/*配置加速度计不自检,量程±2g*/
xMPU6050_WriteReg(MPU6050_ACCEL_CONFIG 0x00);
/*把MPU6050的外部IIC总线设置成 直接连接 模式 ,就是直接连接到 MPU6050 的IIC总线上*/
xMPU6050_WriteReg(MPU6050_INT_PIN_CFG ((uint8_t)(1 << 1)));
return SUCCESS;
}
else
{
return ERROR;
}
}
/*
********************************
相关资源
- 两轮平衡车源程序,方能仪器,自平
- LSM6DSL陀螺仪+加速度传感器带中断唤醒
- 基于stm32的六轴传感器驱动工程文件
- MPU6050数据发送到匿名上位机2.4版本的
- STM32 MPU6050 载人平衡车资料
- mpu6050\\mpu9150\\ms5611电路图可直接使用
- 9轴姿态传感器 BST BNO055 AN007-00 快速入
- MPU6050DMP自检和零偏校准
- SPI读取MPU9250 9轴加速度,陀螺仪,磁
- mpu6050中文手册
- STM32F103陀螺仪程序
- STM32F103_FREERTOS_MPU6050DMP_USART_Timer输入捕
- 基于stm32的四旋翼飞控程序
- STM32 MPU6050 dmp读取四元数程序
- stm32 mpu6050 DMP 成功
- 自动泊车系统.zip
- 基于STM32F103C8T6及NRF24L01的摔倒检测+
- stm32 mpu6050 串口输出
- STM32 MPU6050-DMP
- MPU6050_DMP模式STM32(库函数版本)--串
- STM32-MPU6050DMP欧拉角输出
- MPU6050三轴陀螺仪串口读取数据并显示
- 自平衡小车源代码亲测有问题可随时
- stm32+QMC5883L磁力传感器,可以用来融合
- mpu6050互补滤波算法角度串口输出stm
- 一个简单的iOS全景图
- MPU6050MS5611HMC5883三传感器数据读取
- mpu6050+地磁传感器通过卡尔曼滤波得出
- K5环境+STM32+MPU6050+卡尔曼滤波源码
- 基于蓝牙传输的计步器程序
评论
共有 条评论