SMBus Block读: 对应i2c-tools中的函数:i2c_smbus_read_block_data() SMBus Block写: 对应i2c-tools中的函数:i2c_smbus_write_block_data() I2C Block读: 对应i2c-tools中的函数:i2c_smbus_read_i2c_block_data() I2C Block写: 对应i2c-tools中的函数:i2c_smbus_write_i2c_block_data() 分类: Linux...
Write 4096 bytes居然花了10秒,这不能忍啊~ SMBUS protocol 里面还有提供 i2c_smbus_write_block_data 与 i2c_smbus_write_i2c_block_data两种方法,但是貌似前面一种方法很多embeded设备中是不支持的,晕~ 那就直接i2c_smbus_write_i2c_block_data吧,然后看了一下SMBUS对他的封装: 1staticinline __s32 i2c...
Functionality flag: I2C_FUNC_SMBUS_WRITE_BLOCK_DATA (11)I2C Block Read 在一般的 I2C 协议中,也可以连续读出多个字节。它跟 SMBus Block Read 的差别在于设备发出的第 1 个数据不是长度 N,如下图所示: I2C-tools 中的函数:i2c_smbus_read_i2c_block_data()。先发出 Command Code(它一般表示芯片内部的...
i2c_smbus_read_byte_data — SMBus “read byte” protocol i2c_smbus_write_byte_data — SMBus “write byte” protocol i2c_smbus_read_word_data — SMBus “read word” protocol i2c_smbus_write_word_data — SMBus “write word” protocol i2c_smbus_read_block_data — SMBus “block read...
i2c_smbus_write_byte(); 常用的读操作接口函数: i2c_smbus_read_byte_data(); i2c_smbus_read_word_data(); i2c_smbus_read_block_data(); 常用的写操作接口函数: i2c_smbus_write_byte_data(); i2c_smbus_write_word_data(); i2c_smbus_write_block_data(); s32 i2c_smbus_read_byte_data(...
.smbus_xfer= i801_access, .functionality= i801_func, }; static u32 i801_func(struct i2c_adapter *adapter) { return I2C_FUNC_SMBUS_QUICK | I2C_FUNC_SMBUS_BYTE | I2C_FUNC_SMBUS_BYTE_DATA | I2C_FUNC_SMBUS_WORD_DATA | I2C_FUNC_SMBUS_BLOCK_DATA | I2C_FUNC_SMBUS_WRITE_I2C_BLOCK...
i2c_smbus_read_block_data — SMBus “block read” protocol i2c_smbus_write_block_data — SMBus “block write” protocol i2c_smbus_xfer — execute SMBus protocol operations (一)中对几个基本的结构体和宏定义也有了大概的解释,相信结合I2C的理论基础不难理解。对以上一些I2C的API进行分类: ...
第二个参数是要读取的数据块的起始的寄存器的地址,也就是通过I2C总线从0x00寄存器开始连续读sizeof(struct xydata_t)个数据到y_data中。
struct i2c_algorithm{int(*master_xfer)(struct i2c_adapter*adap,struct i2c_msg*msgs,intnum);int(*smbus_xfer)(struct i2c_adapter*adap,u16 addr,unsigned short flags,char read_write,u8 command,intsize,union i2c_smbus_data*data);u32(*functionality)(struct i2c_adapter*);}; ...