gpt4 book ai didi

python - MPU6050中I2C工作频率与采样率设置的关系

转载 作者:太空宇宙 更新时间:2023-11-03 18:06:47 24 4
gpt4 key购买 nike

我有兴趣通过RaspberryPi和Python读取陀螺仪数据,但我对如何根据I2C时钟频率设置MPU6050(加速度计、陀螺仪;datasheet MPU6050)的采样率感到困惑,以避免错误读取数据(例如例如,在缓冲区中没有数据时进行读取或读取速度比写入速度更快,等等),前提是每个测量值都是一个 16 位字。

两个时钟之间有关系吗?

最佳答案

大约 18 个月前,我用同样的芯片做了一个项目。从那时起我就没有接触过 PI,所以我不知道在此期间事情发生了怎样的变化。无论如何,我使用了 smbus 来读取芯片。我通过艰难的方式发现了一些事情,与 i2c block 读取相比,读取单个寄存器非常慢。另外,您必须关闭 sleep 模式。抱歉,我没有任何有关时钟计时的信息,但如果您只是想获得良好的读取循环,这可能会有所帮助。您不必使用 numpy,但如果您打算操作样本,那么它非常有帮助。 GL/HF。

import smbus
import numpy
# initialize
bus = smbus.SMBus(1)
# turn off sleep mode
bus.write_byte_data(0x68,0x6B,0x00)

# reading in data (this can be in a loop or function call)
sample = numpy.empty(7)
r = bus.read_i2c_block_data(0x68, 0x3B, 14)
sample[0] = (r[0]<<8)+r[1]
sample[1] = (r[2]<<8)+r[3]
sample[2] = (r[4]<<8)+r[5]
sample[3] = (r[6]<<8)+r[7]
sample[4] = (r[8]<<8)+r[9]
sample[5] = (r[10]<<8)+r[11]
sample[6] = (r[12]<<8)+r[13]

关于python - MPU6050中I2C工作频率与采样率设置的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26738129/

24 4 0
文章推荐: python - 使用 sql alchemy 更新多个字段
文章推荐: html - 添加到滚动到CSS中的菜单项
文章推荐: html - Yotpo
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com