I2C Data TransferI2C 数据传输主要有三个 APIint i2c_master_send(const struct i2c_client *client,const char *buf,int count) client:I2C 设备对应的 i2c_client buf:要发送的数据 count:要发送的数据字节数,要小于 64KB,以为 i2c_msg 的 len 成员变
命令: i2ctransfer -f -y 85 w1@0x20 0x00 r1 返回值:0x08 从一个地址读取一个字节的信息 下面详细展开说一下: 内容索引 1. 链路拓扑: 2. 测试仪器及参数: 示波器 DPO7404 4GHZ,20Gs/s,64M记录长度 探头 P6245 ≥1.5GHZ,1MΩ,1pf,15V pk MAX 3. 测试参数: I2C, stand mode 4. OpenBMC命令:...
inti2c_transfer(structi2c_adapter*adap,structi2c_msg*msgs,intnum)adap:所使用的I2C适配器,i2c_cl...
请检查硬件上拉是否给电。 2、调用 i2c_transfer 返回值为 -6? 返回值为 -6 表示为 NACK 错误,即对方设备无应答响应,这种情况一般为外设的问题,常见的有以下几种情况: I2C 地址错误,解决方法是测量 I2C 波形,确认是否 I2C 设备地址错误; I2C slave 设备不处于正常工作状态,比如未给电,错误的上电时序等; ...
I2cTransfer参数定义如下: I2cTransfer返回值定义如下: I2C传输消息类型为I2cMsg,每个传输消息结构体表示一次读或写,通过一个消息数组,可以执行若干次的读写组合操作。组合读写示例: int32_t ret;uint8_t wbuff[2] = { 0x12, 0x13 };uint8_t rbuff[2] = { 0 };struct I2cMsg msgs[2]; /* 自定义...
错误返回值参考:defineEPERM 1/* Operation not permitted */ defineENOENT 2/* No such file or directory */ defineESRCH 3/* No such process */ defineEINTR 4/* Interrupted system call */ defineEIO 5/* I/O error */ defineENXIO 6/* No such device or address */ defineE2BIG ...
调用i2c_transfer 返回值为 -6? 返回值为 -6 表示为 NACK 错误,即对方设备无应答响应,这种情况一般为外设的问题,常见的有以下几种情况: I2C 地址错误,解决方法是测量 I2C 波形,确认是否 I2C 设备地址错误; I2C slave 设备不处于正常工作状态,比如未给电,错误的上电时序等; ...
I2cTransfer 的返回值表示成功发送的 i2cMsg 数据包数量 总结 I2C 基础知识:概念和特性、4 个地址(设备地址、读地址、写地址、字地址)、波形(起始、结束、数据发送、数据接收) I2C 调试手段:电压、上拉电阻、/dev/i2c-x、i2c-tools HDF 框架 I2C 驱动:AT24C256 芯片按照字节寻址方式读写(按照页 64 字节寻址、...
* 返回值 : 成功时,返回已成功传输的 I2C 消息数量;否则返回负数 */ int i2c_transfer(struct i2c_adapter *adap, struct i2c_msg *msgs, int num); 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.