[STM32F1] 关于STM32F103VCT6读取寄存器数据

[复制链接]
 楼主| stormwind123 发表于 2025-2-28 11:25 | 显示全部楼层 |阅读模式
在玩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 | 显示全部楼层
某些配置(如睡眠模式或外部同步)可能会影响采样率。

冰春彩落下 发表于 2025-3-11 05:24 | 显示全部楼层
你提到读取了陀螺仪配置寄存器(0x1B)和加速度计配置寄存器(0x1C),并且读取到的数据是理论值。这说明这些寄存器的配置是正确的,问题可能集中在 0x1A 0x19 寄存器上。

43967ced12b9cf36.png
6749267ced12d493da.png
光辉梦境 发表于 2025-3-11 06:55 | 显示全部楼层
确保正确写入了 0x1A 0x19 寄存器。例如,写入 0x1A = 0(关闭DLPF)或 0x1A = 6DLPF_CFG = 6,输出速率为 1 kHz)。

三生万物 发表于 2025-3-11 07:46 | 显示全部楼层
在写入寄存器后,立即读取 0x1A 0x19 的值,确认写入是否成功。

暖了夏天蓝了海 发表于 2025-3-11 08:22 | 显示全部楼层
确保没有启用睡眠模式或外部同步功能,这些功能会影响采样率。

一秒落纱 发表于 2025-3-11 09:12 | 显示全部楼层
你观察到的采样率与理论值不符,主要是因为 DLPF_CFG 的设置影响了陀螺仪的输出速率。

淡漠安然 发表于 2025-3-11 10:37 | 显示全部楼层
一般可以通过检查寄存器的写入和读取,以及重新计算采样率,应该可以解决这个问题。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

588

主题

3619

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部