树莓派3使用I2C (Python)

2024-10-03 00:32:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图通过I2C连接和Python2.7将HMC5983数字罗盘集成到我的Raspberry Pi3中。我还使用Adafruit_GPIO库来管理与SMBus的交互。在

我试图为HMC5983编写一个简单的Python库。在测试库时,我尝试读取模式寄存器(0x02)。我选择这个寄存器是因为我希望代码返回一个已知值(per datasheet,模式字节是0x01或0x02),以验证我是否正确实现了I2C通信。但是,我的代码没有返回预期值。这些值在寄存器的读数之间也会发生变化。在

你觉得我做错什么了吗?在

测试程序:

# Import HMC5983 library
import HMC5983

# Device default addresses
HMC5983_I2CADD = 0x42

# Create new HMC5983 object and provide the default address
# Note: address has been verified through Terminal (i2cdetect -y 1)
HMC5983 = HMC5983.HMC5983(HMC5983_I2CADD,1, None)

while True:
    # Call the read_mode() method and print the results in binary
    print 'Mode = {0:b}'.format(HMC5983.read_mode())
    time.sleep(1)

HMC5983库:

^{pr2}$

输出(每次变化):

Mode = 11111111
Mode = 100100
Mode = 11000111
Mode = 11001110
Mode = 10

Tags: andthe代码defaultreadaddressmode模式