写一个I2传感器的method部分
时间: 2024-01-20 07:03:44 浏览: 13
以下是一个I2传感器的method部分的示例代码:
```python
import smbus2
class I2CSensor:
def __init__(self, bus, address):
self.bus = smbus2.SMBus(bus)
self.address = address
def read_byte(self, register):
return self.bus.read_byte_data(self.address, register)
def read_word(self, register):
high_byte = self.bus.read_byte_data(self.address, register)
low_byte = self.bus.read_byte_data(self.address, register + 1)
return (high_byte << 8) + low_byte
def write_byte(self, register, value):
self.bus.write_byte_data(self.address, register, value)
def write_word(self, register, value):
high_byte = value >> 8
low_byte = value & 0xFF
self.bus.write_byte_data(self.address, register, high_byte)
self.bus.write_byte_data(self.address, register + 1, low_byte)
```
上面的示例代码中,我们定义了一个名为`I2CSensor`的类,它有`__init__`、`read_byte`、`read_word`、`write_byte`和`write_word`等方法。其中,`__init__`方法用于初始化I2C总线和设备地址,`read_byte`和`read_word`方法用于读取一个字节或一个字(两个字节)数据,`write_byte`和`write_word`方法用于向设备写入一个字节或一个字数据。
请注意,上面的示例代码中使用了`import smbus2`语句,这是因为我们需要使用smbus2库来访问I2C总线。在使用该示例代码之前,请确保你已经安装了smbus2库。