XerolySkinnerBscpp 1.0.0
C++版本的驱动库
宏定义 | 函数
mpu6050.h 文件参考
#include "main.h"
#include "varint.h"
mpu6050.h 的引用(Include)关系图:
此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

宏定义

#define MPU_SELF_TESTX_REG   0X0D
 
#define MPU_SELF_TESTY_REG   0X0E
 
#define MPU_SELF_TESTZ_REG   0X0F
 
#define MPU_SELF_TESTA_REG   0X10
 
#define MPU_SAMPLE_RATE_REG   0X19
 
#define MPU_CFG_REG   0X1A
 
#define MPU_GYRO_CFG_REG   0X1B
 
#define MPU_ACCEL_CFG_REG   0X1C
 
#define MPU_MOTION_DET_REG   0X1F
 
#define MPU_FIFO_EN_REG   0X23
 
#define MPU_I2CMST_CTRL_REG   0X24
 
#define MPU_I2CSLV0_ADDR_REG   0X25
 
#define MPU_I2CSLV0_REG   0X26
 
#define MPU_I2CSLV0_CTRL_REG   0X27
 
#define MPU_I2CSLV1_ADDR_REG   0X28
 
#define MPU_I2CSLV1_REG   0X29
 
#define MPU_I2CSLV1_CTRL_REG   0X2A
 
#define MPU_I2CSLV2_ADDR_REG   0X2B
 
#define MPU_I2CSLV2_REG   0X2C
 
#define MPU_I2CSLV2_CTRL_REG   0X2D
 
#define MPU_I2CSLV3_ADDR_REG   0X2E
 
#define MPU_I2CSLV3_REG   0X2F
 
#define MPU_I2CSLV3_CTRL_REG   0X30
 
#define MPU_I2CSLV4_ADDR_REG   0X31
 
#define MPU_I2CSLV4_REG   0X32
 
#define MPU_I2CSLV4_DO_REG   0X33
 
#define MPU_I2CSLV4_CTRL_REG   0X34
 
#define MPU_I2CSLV4_DI_REG   0X35
 
#define MPU_I2CMST_STA_REG   0X36
 
#define MPU_INTBP_CFG_REG   0X37
 
#define MPU_INT_EN_REG   0X38
 
#define MPU_INT_STA_REG   0X3A
 
#define MPU_ACCEL_XOUTH_REG   0X3B
 
#define MPU_ACCEL_XOUTL_REG   0X3C
 
#define MPU_ACCEL_YOUTH_REG   0X3D
 
#define MPU_ACCEL_YOUTL_REG   0X3E
 
#define MPU_ACCEL_ZOUTH_REG   0X3F
 
#define MPU_ACCEL_ZOUTL_REG   0X40
 
#define MPU_TEMP_OUTH_REG   0X41
 
#define MPU_TEMP_OUTL_REG   0X42
 
#define MPU_GYRO_XOUTH_REG   0X43
 
#define MPU_GYRO_XOUTL_REG   0X44
 
#define MPU_GYRO_YOUTH_REG   0X45
 
#define MPU_GYRO_YOUTL_REG   0X46
 
#define MPU_GYRO_ZOUTH_REG   0X47
 
#define MPU_GYRO_ZOUTL_REG   0X48
 
#define MPU_I2CSLV0_DO_REG   0X63
 
#define MPU_I2CSLV1_DO_REG   0X64
 
#define MPU_I2CSLV2_DO_REG   0X65
 
#define MPU_I2CSLV3_DO_REG   0X66
 
#define MPU_I2CMST_DELAY_REG   0X67
 
#define MPU_SIGPATH_RST_REG   0X68
 
#define MPU_MDETECT_CTRL_REG   0X69
 
#define MPU_USER_CTRL_REG   0X6A
 
#define MPU_PWR_MGMT1_REG   0X6B
 
#define MPU_PWR_MGMT2_REG   0X6C
 
#define MPU_FIFO_CNTH_REG   0X72
 
#define MPU_FIFO_CNTL_REG   0X73
 
#define MPU_FIFO_RW_REG   0X74
 
#define MPU_DEVICE_ID_REG   0X75
 
#define MPU_ADDR   0X68
 

函数

u8 MPU_Init (void)
 初始化MPU6050 更多...
 
u8 MPU_Write_Len (u8 addr, u8 reg, u8 len, u8 *buf)
 IIC连续写 更多...
 
u8 MPU_Read_Len (u8 addr, u8 reg, u8 len, u8 *buf)
 IIC连续读 更多...
 
u8 MPU_Write_Byte (u8 reg, u8 data)
 IIC写一个字节 更多...
 
u8 MPU_Read_Byte (u8 reg)
 IIC读一个字节 更多...
 
u8 MPU_Set_Gyro_Fsr (u8 fsr)
 设置MPU6050陀螺仪传感器满量程范围 更多...
 
u8 MPU_Set_Accel_Fsr (u8 fsr)
 设置MPU6050加速度传感器满量程范围 更多...
 
u8 MPU_Set_LPF (u16 lpf)
 设置MPU6050的数字低通滤波器 更多...
 
u8 MPU_Set_Rate (u16 rate)
 设置MPU6050的采样率(假定Fs=1KHz) 更多...
 
u8 MPU_Set_Fifo (u8 sens)
 
short MPU_Get_Temperature (void)
 得到温度值 更多...
 
u8 MPU_Get_Gyroscope (short *gx, short *gy, short *gz)
 得到陀螺仪值(原始值) 更多...
 
u8 MPU_Get_Accelerometer (short *ax, short *ay, short *az)
 得到加速度值(原始值) 更多...
 

宏定义说明

◆ MPU_ACCEL_CFG_REG

#define MPU_ACCEL_CFG_REG   0X1C

在文件 mpu6050.h27 行定义.

◆ MPU_ACCEL_XOUTH_REG

#define MPU_ACCEL_XOUTH_REG   0X3B

在文件 mpu6050.h54 行定义.

◆ MPU_ACCEL_XOUTL_REG

#define MPU_ACCEL_XOUTL_REG   0X3C

在文件 mpu6050.h55 行定义.

◆ MPU_ACCEL_YOUTH_REG

#define MPU_ACCEL_YOUTH_REG   0X3D

在文件 mpu6050.h56 行定义.

◆ MPU_ACCEL_YOUTL_REG

#define MPU_ACCEL_YOUTL_REG   0X3E

在文件 mpu6050.h57 行定义.

◆ MPU_ACCEL_ZOUTH_REG

#define MPU_ACCEL_ZOUTH_REG   0X3F

在文件 mpu6050.h58 行定义.

◆ MPU_ACCEL_ZOUTL_REG

#define MPU_ACCEL_ZOUTL_REG   0X40

在文件 mpu6050.h59 行定义.

◆ MPU_ADDR

#define MPU_ADDR   0X68

在文件 mpu6050.h89 行定义.

◆ MPU_CFG_REG

#define MPU_CFG_REG   0X1A

在文件 mpu6050.h25 行定义.

◆ MPU_DEVICE_ID_REG

#define MPU_DEVICE_ID_REG   0X75

在文件 mpu6050.h85 行定义.

◆ MPU_FIFO_CNTH_REG

#define MPU_FIFO_CNTH_REG   0X72

在文件 mpu6050.h82 行定义.

◆ MPU_FIFO_CNTL_REG

#define MPU_FIFO_CNTL_REG   0X73

在文件 mpu6050.h83 行定义.

◆ MPU_FIFO_EN_REG

#define MPU_FIFO_EN_REG   0X23

在文件 mpu6050.h29 行定义.

◆ MPU_FIFO_RW_REG

#define MPU_FIFO_RW_REG   0X74

在文件 mpu6050.h84 行定义.

◆ MPU_GYRO_CFG_REG

#define MPU_GYRO_CFG_REG   0X1B

在文件 mpu6050.h26 行定义.

◆ MPU_GYRO_XOUTH_REG

#define MPU_GYRO_XOUTH_REG   0X43

在文件 mpu6050.h64 行定义.

◆ MPU_GYRO_XOUTL_REG

#define MPU_GYRO_XOUTL_REG   0X44

在文件 mpu6050.h65 行定义.

◆ MPU_GYRO_YOUTH_REG

#define MPU_GYRO_YOUTH_REG   0X45

在文件 mpu6050.h66 行定义.

◆ MPU_GYRO_YOUTL_REG

#define MPU_GYRO_YOUTL_REG   0X46

在文件 mpu6050.h67 行定义.

◆ MPU_GYRO_ZOUTH_REG

#define MPU_GYRO_ZOUTH_REG   0X47

在文件 mpu6050.h68 行定义.

◆ MPU_GYRO_ZOUTL_REG

#define MPU_GYRO_ZOUTL_REG   0X48

在文件 mpu6050.h69 行定义.

◆ MPU_I2CMST_CTRL_REG

#define MPU_I2CMST_CTRL_REG   0X24

在文件 mpu6050.h30 行定义.

◆ MPU_I2CMST_DELAY_REG

#define MPU_I2CMST_DELAY_REG   0X67

在文件 mpu6050.h76 行定义.

◆ MPU_I2CMST_STA_REG

#define MPU_I2CMST_STA_REG   0X36

在文件 mpu6050.h49 行定义.

◆ MPU_I2CSLV0_ADDR_REG

#define MPU_I2CSLV0_ADDR_REG   0X25

在文件 mpu6050.h31 行定义.

◆ MPU_I2CSLV0_CTRL_REG

#define MPU_I2CSLV0_CTRL_REG   0X27

在文件 mpu6050.h33 行定义.

◆ MPU_I2CSLV0_DO_REG

#define MPU_I2CSLV0_DO_REG   0X63

在文件 mpu6050.h71 行定义.

◆ MPU_I2CSLV0_REG

#define MPU_I2CSLV0_REG   0X26

在文件 mpu6050.h32 行定义.

◆ MPU_I2CSLV1_ADDR_REG

#define MPU_I2CSLV1_ADDR_REG   0X28

在文件 mpu6050.h34 行定义.

◆ MPU_I2CSLV1_CTRL_REG

#define MPU_I2CSLV1_CTRL_REG   0X2A

在文件 mpu6050.h36 行定义.

◆ MPU_I2CSLV1_DO_REG

#define MPU_I2CSLV1_DO_REG   0X64

在文件 mpu6050.h72 行定义.

◆ MPU_I2CSLV1_REG

#define MPU_I2CSLV1_REG   0X29

在文件 mpu6050.h35 行定义.

◆ MPU_I2CSLV2_ADDR_REG

#define MPU_I2CSLV2_ADDR_REG   0X2B

在文件 mpu6050.h37 行定义.

◆ MPU_I2CSLV2_CTRL_REG

#define MPU_I2CSLV2_CTRL_REG   0X2D

在文件 mpu6050.h39 行定义.

◆ MPU_I2CSLV2_DO_REG

#define MPU_I2CSLV2_DO_REG   0X65

在文件 mpu6050.h73 行定义.

◆ MPU_I2CSLV2_REG

#define MPU_I2CSLV2_REG   0X2C

在文件 mpu6050.h38 行定义.

◆ MPU_I2CSLV3_ADDR_REG

#define MPU_I2CSLV3_ADDR_REG   0X2E

在文件 mpu6050.h40 行定义.

◆ MPU_I2CSLV3_CTRL_REG

#define MPU_I2CSLV3_CTRL_REG   0X30

在文件 mpu6050.h42 行定义.

◆ MPU_I2CSLV3_DO_REG

#define MPU_I2CSLV3_DO_REG   0X66

在文件 mpu6050.h74 行定义.

◆ MPU_I2CSLV3_REG

#define MPU_I2CSLV3_REG   0X2F

在文件 mpu6050.h41 行定义.

◆ MPU_I2CSLV4_ADDR_REG

#define MPU_I2CSLV4_ADDR_REG   0X31

在文件 mpu6050.h43 行定义.

◆ MPU_I2CSLV4_CTRL_REG

#define MPU_I2CSLV4_CTRL_REG   0X34

在文件 mpu6050.h46 行定义.

◆ MPU_I2CSLV4_DI_REG

#define MPU_I2CSLV4_DI_REG   0X35

在文件 mpu6050.h47 行定义.

◆ MPU_I2CSLV4_DO_REG

#define MPU_I2CSLV4_DO_REG   0X33

在文件 mpu6050.h45 行定义.

◆ MPU_I2CSLV4_REG

#define MPU_I2CSLV4_REG   0X32

在文件 mpu6050.h44 行定义.

◆ MPU_INT_EN_REG

#define MPU_INT_EN_REG   0X38

在文件 mpu6050.h51 行定义.

◆ MPU_INT_STA_REG

#define MPU_INT_STA_REG   0X3A

在文件 mpu6050.h52 行定义.

◆ MPU_INTBP_CFG_REG

#define MPU_INTBP_CFG_REG   0X37

在文件 mpu6050.h50 行定义.

◆ MPU_MDETECT_CTRL_REG

#define MPU_MDETECT_CTRL_REG   0X69

在文件 mpu6050.h78 行定义.

◆ MPU_MOTION_DET_REG

#define MPU_MOTION_DET_REG   0X1F

在文件 mpu6050.h28 行定义.

◆ MPU_PWR_MGMT1_REG

#define MPU_PWR_MGMT1_REG   0X6B

在文件 mpu6050.h80 行定义.

◆ MPU_PWR_MGMT2_REG

#define MPU_PWR_MGMT2_REG   0X6C

在文件 mpu6050.h81 行定义.

◆ MPU_SAMPLE_RATE_REG

#define MPU_SAMPLE_RATE_REG   0X19

在文件 mpu6050.h24 行定义.

◆ MPU_SELF_TESTA_REG

#define MPU_SELF_TESTA_REG   0X10

在文件 mpu6050.h23 行定义.

◆ MPU_SELF_TESTX_REG

#define MPU_SELF_TESTX_REG   0X0D

在文件 mpu6050.h20 行定义.

◆ MPU_SELF_TESTY_REG

#define MPU_SELF_TESTY_REG   0X0E

在文件 mpu6050.h21 行定义.

◆ MPU_SELF_TESTZ_REG

#define MPU_SELF_TESTZ_REG   0X0F

在文件 mpu6050.h22 行定义.

◆ MPU_SIGPATH_RST_REG

#define MPU_SIGPATH_RST_REG   0X68

在文件 mpu6050.h77 行定义.

◆ MPU_TEMP_OUTH_REG

#define MPU_TEMP_OUTH_REG   0X41

在文件 mpu6050.h61 行定义.

◆ MPU_TEMP_OUTL_REG

#define MPU_TEMP_OUTL_REG   0X42

在文件 mpu6050.h62 行定义.

◆ MPU_USER_CTRL_REG

#define MPU_USER_CTRL_REG   0X6A

在文件 mpu6050.h79 行定义.

函数说明

◆ MPU_Get_Accelerometer()

u8 MPU_Get_Accelerometer ( short *  ax,
short *  ay,
short *  az 
)

得到加速度值(原始值)

参数
ax陀螺仪a轴的原始读数(带符号)
ay陀螺仪a轴的原始读数(带符号)
ax陀螺仪a轴的原始读数(带符号)
返回
0,设置成功

在文件 mpu6050.cpp137 行定义.

函数调用图:

◆ MPU_Get_Gyroscope()

u8 MPU_Get_Gyroscope ( short *  gx,
short *  gy,
short *  gz 
)

得到陀螺仪值(原始值)

参数
gx陀螺仪x轴的原始读数(带符号)
gy陀螺仪y轴的原始读数(带符号)
gx陀螺仪z轴的原始读数(带符号)
返回
0,设置成功

在文件 mpu6050.cpp121 行定义.

函数调用图:

◆ MPU_Get_Temperature()

short MPU_Get_Temperature ( void  )

得到温度值

返回
温度值(扩大了100倍)

在文件 mpu6050.cpp105 行定义.

函数调用图:

◆ MPU_Init()

u8 MPU_Init ( void  )

初始化MPU6050

返回
0,成功

在文件 mpu6050.cpp25 行定义.

函数调用图:

◆ MPU_Read_Byte()

u8 MPU_Read_Byte ( u8  reg)

IIC读一个字节

参数
reg寄存器地址
返回
0,设置成功

在文件 mpu6050.cpp187 行定义.

函数调用图:
这是这个函数的调用关系图:

◆ MPU_Read_Len()

u8 MPU_Read_Len ( u8  addr,
u8  reg,
u8  len,
u8 buf 
)

IIC连续读

参数
addr器件地址
reg寄存器地址
len读取长度
*buf读取数据区
返回
0,设置成功

在文件 mpu6050.cpp168 行定义.

函数调用图:
这是这个函数的调用关系图:

◆ MPU_Set_Accel_Fsr()

u8 MPU_Set_Accel_Fsr ( u8  fsr)

设置MPU6050加速度传感器满量程范围

参数
fsr0,±2g 1,±4g 2,±8g 3,±16g
返回
0,设置成功

在文件 mpu6050.cpp67 行定义.

函数调用图:
这是这个函数的调用关系图:

◆ MPU_Set_Fifo()

u8 MPU_Set_Fifo ( u8  sens)

◆ MPU_Set_Gyro_Fsr()

u8 MPU_Set_Gyro_Fsr ( u8  fsr)

设置MPU6050陀螺仪传感器满量程范围

参数
fsr0,±250dps 1,±500dps 2,±1000dps 3,±2000dps
返回
0,设置成功

在文件 mpu6050.cpp55 行定义.

函数调用图:
这是这个函数的调用关系图:

◆ MPU_Set_LPF()

u8 MPU_Set_LPF ( u16  lpf)

设置MPU6050的数字低通滤波器

参数
lpf数字低通滤波频率(Hz)
返回
0,设置成功

在文件 mpu6050.cpp76 行定义.

函数调用图:
这是这个函数的调用关系图:

◆ MPU_Set_Rate()

u8 MPU_Set_Rate ( u16  rate)

设置MPU6050的采样率(假定Fs=1KHz)

参数
rate4~1000(Hz)
返回
0,设置成功

在文件 mpu6050.cpp92 行定义.

函数调用图:
这是这个函数的调用关系图:

◆ MPU_Write_Byte()

u8 MPU_Write_Byte ( u8  reg,
u8  data 
)

IIC写一个字节

参数
reg寄存器地址
data数据
返回
0,设置成功

在文件 mpu6050.cpp178 行定义.

函数调用图:
这是这个函数的调用关系图:

◆ MPU_Write_Len()

u8 MPU_Write_Len ( u8  addr,
u8  reg,
u8  len,
u8 buf 
)

IIC连续写

参数
addr器件地址
reg寄存器地址
len写入长度
*buf数据区
返回
0,设置成功

在文件 mpu6050.cpp156 行定义.

函数调用图: