STM32CubeIDE自平衡小车教程7.MPU6050传感器数据读取 您所在的位置:网站首页 mpu6050调试 STM32CubeIDE自平衡小车教程7.MPU6050传感器数据读取

STM32CubeIDE自平衡小车教程7.MPU6050传感器数据读取

2023-07-18 17:00| 来源: 网络整理| 查看: 265

MPU6050简介: MPU6050是InvenSense公司推出的全球首款整合性6轴运动处理组件,内带3轴陀螺仪和3轴加速度传感器,并且含有一个第二IIC接口,可用于连接外部磁力传感器。 那如何通过MPU6050传感器来获取数据呢?

具体步骤如下:

1.新建项目:

2.选择STM32F103C8T6芯片

3.对工程文件命名

4.在Connectivity中选择I2C1,在mode中选择I2C

 5.根据原理图选择引脚

其中MPU6050中的SCL和SDA应对应于C8T6主控模块上的PB8和PB9,故应在右侧引脚设置中单击PB9,PB8引脚,选择I2C1_SDA项。

 

 

 

6.点击生成代码,在MPU6050下新建一个User文件夹,在User文件夹下新建一个BSP文件夹,在BSP文件夹下添加Inc和Src文件夹,并在Inc和Src文件夹下添加bsp_mpu6050.c和bsp_mpu6050.h文件。(注意新建的文件夹需要设置路径)

新建的User文件夹,设置路径:

(只有设置完路径后才能添加的上.c和.h文件)

再添加.c和,h文件

 

7.把以下代码加入bsp_mpu6050.c #include "main.h" extern I2C_HandleTypeDef hi2c1; IMU_SensorData_Raw_Structer IMU_SensorData_Raw; uint8_t BSP_MPU6050_ReadReg(uint8_t address) { uint8_t Value = 0; HAL_I2C_Mem_Read(&hi2c1,IMU_ADDRESS_READ,address,I2C_MEMADD_SIZE_8BIT,&Value,1,0x10); return Value; } void BSP_MPU6050_ReadMultiReg(uint8_t address,uint8_t length,uint8_t *data) { HAL_I2C_Mem_Read(&hi2c1,IMU_ADDRESS_READ,address,I2C_MEMADD_SIZE_8BIT,data,length,0x10); } void BSP_MPU6050_WriteReg(uint8_t address,uint8_t data) { HAL_I2C_Mem_Write(&hi2c1,IMU_ADDRESS_WRITE,address,I2C_MEMADD_SIZE_8BIT,&data,1,0x10); HAL_Delay(100); } void BSP_MPU6050_WriteMultiReg(uint8_t address,uint8_t length,uint8_t *data) { HAL_I2C_Mem_Write(&hi2c1,IMU_ADDRESS_WRITE,address,I2C_MEMADD_SIZE_8BIT,data,length,0x10); HAL_Delay(100); } uint8_t BSP_MPU6050_Read_WHOAMI(void) { return BSP_MPU6050_ReadReg(MPUREG_WHOAMI); } uint8_t BSP_MPU6050_Init(void) { uint8_t tries; for(tries = 0; tries


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有