i2c linux 驱动程序中的 I2C_SLAVE ioctl

i2c linux 驱动程序中的 I2C_SLAVE ioctl

我应该为 i2c 编写一个简单的写入和读取程序,但问题是我目前没有设备来测试它,所以我需要我的代码是完美的。

我对 I2C_SLAVE ioctl 的功能感到困惑。据我所知,此 ioctl 用于设置从设备地址。

但是,我们在使用 ioctl I2C_RDWR 通过结构 i2c_msg 中的 Addr 执行读/写时再次传递从属地址。在 Linux 文档中提到,使用 I2C_RDWR 设置的地址优先于 I2C_SLAVE 设置的地址。

那么,I2C_SLAVE 命令有什么作用?它是必需的吗?

答案1

I2C_SLAVE 将改变从属地址,因此可能需要在写入特定地址或从特定地址读取之前使用此命令。

相关内容