Linux SMBus块事务类型
最新的SMBus规范仅显示一种类型的块写入/读取(不包括块进程调用): 但是,从Linux用户空间界面来看,有3种块事务类型可用于ioctlLinux SMBus块事务类型,linux,raspberry-pi,i2c,ioctl,smbus,Linux,Raspberry Pi,I2c,Ioctl,Smbus,最新的SMBus规范仅显示一种类型的块写入/读取(不包括块进程调用): 但是,从Linux用户空间界面来看,有3种块事务类型可用于ioctlI2C_SMBUSfrom: #定义I2C_SMBUS_块_数据5 #定义I2C\u SMBUS\u I2C\u块\u 6 #定义I2C_SMBUS_I2C_块_数据8 遵循其下的代码将委托给i2c_算法中的smbus_xfer/master_xfer(如果是仿真的话),这是特定于适配器/设备的 1。是否所有这些事务类型最终都遵循SMBus 3.0的blo
I2C_SMBUS
from:
#定义I2C_SMBUS_块_数据5
#定义I2C\u SMBUS\u I2C\u块\u 6
#定义I2C_SMBUS_I2C_块_数据8
遵循其下的代码将委托给i2c_算法
中的smbus_xfer
/master_xfer
(如果是仿真的话),这是特定于适配器/设备的
1。是否所有这些事务类型最终都遵循SMBus 3.0的block wire规范?2。我如何决定我需要使用哪一个? 我正在Raspbian GNU/Linux 10(buster)上创建Java JNA接口
/* Convert old I2C block commands to the new
convention. This preserves binary compatibility. */
I2C_SMBUS_I2C_BLOCK_数据是否遵循块数据协议——这取决于用户。执行协议的命令是I2C_SMBUS_BLOCK_数据
如果您是根据SMBus 1规范编写的,请在适当的时候使用I2C_SMBus_I2C_BLOCK_breaked.
I2C_FUNC
ioctl returnedI2C_FUNC_SMBus_WRITE_BLOCK_DATA,I2C_FUNC_SMBus_READ_I2C_BLOCK,I2C_FUNC_SMBus_WRITE_I2C_BLOCK
,所以我想我只有一个选择块读取。不过有两种写作选择。
/* Convert old I2C block commands to the new
convention. This preserves binary compatibility. */