IIc读写在开发过程中使用比较普遍,今天我们来了解一下IIC读写接口吧!
我们再根据硬件需求来看看读数据地址对应图:
依次写入的是DEVICE_ADDRESS,FIRST WORD_ADDRESS,SECOND_ADDRESS,最后读出的是DATA域。所以我们是先要写EEPROM寄存器,再读EEPROM寄存器。
我们先看一下linux IIC里面的i2c_msg结构体(把中间的宏定义去掉了)
struct i2c_msg_
{
__u16 addr; /* 从机地址 */
__u16 flags; /* 标志位,指定进行读写的操作 0:W,1:R*/
__u16 len; /* msg length(单位为字节,需要注意,读写的数据长度) */
__u8 *buf; /* pointer to ms