树莓派i2c写五个寄存器并读回值示例代码
时间: 2024-09-21 09:07:45 浏览: 41
在树莓派上使用Python通过I2C连接设备,例如操作一颗ADC(模拟数字转换器),你可以使用`smbus`库来实现对五个寄存器的读写。这里是一个简单的示例:
```python
import smbus
# 初始化I2C bus,通常树莓派I2C地址是0x76或0x77,具体看你的硬件配置
i2c = smbus.SMBus(1) # 如果你使用的是GPIO 2(SCL)和3(SDA)
# ADC的具体地址
adc_address = 0x48
# 定义你要写的寄存器和对应的偏移量
registers_to_write = [0x00, 0x01, 0x02, 0x03, 0x04]
register_offsets = [0, 1, 2, 3, 4]
for register in registers_to_write:
# 写入寄存器
i2c.write_byte_data(adc_address, register + register_offsets[0], register)
# 读取之前写入的五个寄存器
read_values = []
for offset in register_offsets:
read_value = i2c.read_word_data(adc_address, offset)
read_values.append(read_value)
print(f"Written values to registers: {registers_to_write}")
print(f"Read values from registers: {read_values}")
# 关闭I2C连接
i2c.close()
阅读全文