if ((data_arg.size != I2C_SMBUS_BYTE) && (data_arg.size != I2C_SMBUS_QUICK) && (data_arg.size != I2C_SMBUS_BYTE_DATA) && (data_arg.size != I2C_SMBUS_WORD_DATA) && (data_arg.size != I2C_SMBUS_PROC_CALL) && (data_arg.size != I2C_SMBUS_BLOCK_DATA) && (data_arg.s...
__s32 i2c_smbus_read_byte(intfile); __s32 i2c_smbus_write_byte(intfile, __u8 value); __s32 i2c_smbus_read_byte_data(intfile, __u8 command); __s32 i2c_smbus_write_byte_data(intfile, __u8 command, __u8 value); __s32 i2c_smbus_read_word_data(intfile, __u8 command); _...
关于I2C_FUNC_SMBUS_BYTE_DATA定义:在linux/i2c.h中 #define I2C_FUNC_SMBUS_BYTE_DATA (I2C_FUNC_SMBUS_READ_BYTE_DATA | \ I2C_FUNC_SMBUS_WRITE_BYTE_DATA) #define I2C_FUNC_SMBUS_READ_BYTE_DATA 0x00080000 #define I2C_FUNC_SMBUS_WRITE_BYTE_DATA 0x00100000 if (!i2c_check_functionality(ad...
【1】__s32 i2c_smbus_write_quick(int file, __u8 value); 发送一个写控制字,可用于测试I2C设备是否存在。 S Addr Rd [A] [Data] NA P 【2】__s32 i2c_smbus_read_byte(int file); 发送一个读控制字,并从I2C设备中读取一个字节。 S Addr Rd [A] [Data] NA P 【3】__s32 i2c_smbus_w...
* i2c_smbus_write_word_data(file, reg, 0x6543) */ buf[0] = reg; buf[1] = 0x43; buf[2] = 0x65; if (write(file, buf, 3) != 3) { /* ERROR HANDLING: I2C transaction failed */ } /* Using I2C Read, equivalent of i2c_smbus_read_byte(file) */ ...
"read_write out of range (%x) in ioctl I2C_SMBUS.\n", data_arg.read_write); return -EINVAL; //既不是读,也不是写 } /* Note that command values are always */ if ((data_arg.size == I2C_SMBUS_QUICK) || ((data_arg.size == I2C_SMBUS_BYTE) && ...
i2c_smbus_read_byte_data函数是用于从I2C从设备读取单个字节数据的函数。以下是针对你问题的详细解答: i2c_smbus_read_byte_data函数的作用: 该函数用于从指定的I2C从设备中读取一个字节的数据。它通常用于读取I2C设备上的特定寄存器值。 i2c_smbus_read_byte_data函数的返回值类型: 函数的返回类型是s32,即...
#define I2C_FUNC_SMBUS_READ_I2C_BLOCK_2 0x10000000 /* I2C-like block xfer */ #define I2C_FUNC_SMBUS_WRITE_I2C_BLOCK_2 0x20000000 /* w/ 2-byte reg. addr. */ 6. I2C层通信 ioctl(file,I2C_RDWR,(structi2c_rdwr_ioctl_data *)msgset); ...
32. data_arg.read_write); 33. return -EINVAL; //既不是读,也不是写 34. } 35. /* Note that command values are always */ 36. if ((data_arg.size == I2C_SMBUS_QUICK) || 37. ((data_arg.size == I2C_SMBUS_BYTE) &&
1. i2c_smbus_read_byte_data() 该函数用于从 I2C 设备中读取一个字节的数据。它的参数包括 I2C 设备的地址、寄存器地址和一个标志,用于指示是否使用 PMBus 协议。函数返回读取的字节数据。 2. i2c_smbus_write_byte_data() 该函数用于向 I2C 设备写入一个字节的数据。它的参数包括 I2C 设备的地址、寄存器...