打印
[STM32F1]

关于STM32F103VCT6读取寄存器数据

[复制链接]
478|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
在玩mpu6050时,初始化寄存器后,设置的采样频率是50HZ,但是读到的配置寄存器(0X1A)是2,而陀螺仪采样率分频寄存器(0X19)读到的数是4,按照公式:Sample Rate=Gyroscope Output Rate/(1+SMPLRT_DIV)得到的采样率就应该是200HZ,我以为我代码写的不对,然后去读了陀螺仪配置寄存器(1B)和加速度传感器配置寄存器(1C),读取的数据又是理论值,有高手帮忙解释下吗?

使用特权

评论回复
沙发
夜阑风雨| | 2025-3-11 01:51 | 只看该作者
MPU6050不是有例程吗,直接弄呗,多简单

使用特权

评论回复
板凳
江河千里| | 2025-3-11 02:34 | 只看该作者
寄存器写入失败可能会这样,检查是否成功写入了 0x1A 寄存器。

使用特权

评论回复
地板
别乱了阵脚| | 2025-3-11 04:38 | 只看该作者
某些配置(如睡眠模式或外部同步)可能会影响采样率。

使用特权

评论回复
5
冰春彩落下| | 2025-3-11 05:24 | 只看该作者
你提到读取了陀螺仪配置寄存器(0x1B)和加速度计配置寄存器(0x1C),并且读取到的数据是理论值。这说明这些寄存器的配置是正确的,问题可能集中在 0x1A 0x19 寄存器上。

43967ced12b9cf36.png (1.29 KB )

43967ced12b9cf36.png

6749267ced12d493da.png (1.29 KB )

6749267ced12d493da.png

使用特权

评论回复
6
光辉梦境| | 2025-3-11 06:55 | 只看该作者
确保正确写入了 0x1A 0x19 寄存器。例如,写入 0x1A = 0(关闭DLPF)或 0x1A = 6DLPF_CFG = 6,输出速率为 1 kHz)。

使用特权

评论回复
7
三生万物| | 2025-3-11 07:46 | 只看该作者
在写入寄存器后,立即读取 0x1A 0x19 的值,确认写入是否成功。

使用特权

评论回复
8
暖了夏天蓝了海| | 2025-3-11 08:22 | 只看该作者
确保没有启用睡眠模式或外部同步功能,这些功能会影响采样率。

使用特权

评论回复
9
一秒落纱| | 2025-3-11 09:12 | 只看该作者
你观察到的采样率与理论值不符,主要是因为 DLPF_CFG 的设置影响了陀螺仪的输出速率。

使用特权

评论回复
10
淡漠安然| | 2025-3-11 10:37 | 只看该作者
一般可以通过检查寄存器的写入和读取,以及重新计算采样率,应该可以解决这个问题。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

492

主题

2867

帖子

3

粉丝