赞
踩
初始化步骤: 1.初始化IIc接口
2.复位mpu
3.设置陀螺仪和加速度传感器的满量程范围
4.设置其他参数
5.配置系统时钟源使能陀螺仪和加速度传感器
重要寄存器: CLKSEL[2:0]用来选择时钟源,通常选择x/y/z轴陀螺作为参考的PLL为时钟源,CLKSEL=001;
陀螺配置寄存器: 地址:0X1B;该寄存器只关心FA_SEL[1:0]这两个位,用来设置满量程范围:0: ±250°/S; 1: ±500°/S; 2: ±1000°/S; 3: ±2000°/S;
因为陀螺仪的ADC是16位分辨率,所以最高灵敏度是65536/4000=16.4LSB/(°/S);
加速度配置寄存器::地址:0X1C,该寄存器只关心AFS_SEL[1:0]这两位,用来设置满量程范围:0:±2g; 1:±4g; 2:±4g; 3:±8g;通常选择0,即±2g,
因为加速度传感器的ADC是16位分辨率,所以灵敏度是65536/4=16384 LSB/S;
FIFO使能寄存器: 地址:0X23,设置对应位为0即可禁止FIFO,设置为1,则可使能加速度传感器的三个轴,全由ACCEL_FIFO_EN控制
陀螺仪采样频率分频寄存器:地址:0X19,用来设置mpu6050的陀螺仪采样频率,计算公式为:采样频率=陀螺仪输出频率/(1+SMPLRT_DIV)
陀螺仪的输出频率,是1KHZ或8KHZ,与数字低通滤波器(DLPF)的设置有关,当DLPF_CFG=0/7时,频率为8KHZ,
其他情况是1KHZ, 而且DLPF滤波频率一般为采样率的一般,若采样率为50hz,则SMPLRT_DIV=1000/50-1=19;
数据读取: 陀螺仪数据输出寄存器,由6个寄存器组成,地址为:0X43~0X48,可以通过读取0X43(高8位)和0X44(低8位)寄存器得到,
加速度传感器数据寄存器,也有6个,地址为:0X3B~0X40;可以通过读取0X43B(高8位)和0X3C(低8位)寄存器得到,
温度传感器的值可以通过读取0X41(高8位)和0X42(低8位), 其他轴以此类推;温度换算公式:Temperature=36.53+regval/340;
egval是读取0X41(高8位)和0X42(低8位)的值;
这次还是为了防止忘记和查找方便,希望大家一起进步;
PS:本次内容都是从正点原子的STM32F4开发指南(库函数版)摘抄的,如果有什么不明白的,可以看它;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。