Advertisement

i2c 接口

阅读量:

1、通信接口

i2c发送或者接收一次数据都以数据包 struct i2c_msg 封装

复制代码
 struct i2c_msg {

    
 	__u16 addr;     // 从机地址
    
 	__u16 flags;    // 标志
    
 #define I2C_M_TEN   0x0010  // 十位地址标志
    
 #define I2C_M_RD    0x0001  // 接收数据标志
    
 	__u16 len;      // 数据长度
    
 	__u8 *buf;      // 数据指针
    
 };

其中从机地址由addr表示;这次通信由flags标志控制;设置发送数据位掩码为0;接收的数据位掩码被设置为I2C_M_RD;此次通信的数据字节数由len决定;缓冲区指针buf用于发送或接收数据。在设备驱动中我们通常通过i2c_master_send和i2c_master_recv接口来完成一次数据发送或接收操作。

复制代码
 int i2c_master_send(struct i2c_client *client,const char *buf ,int count)

    
 {
    
 	int ret;
    
 	struct i2c_adapter *adap=cli

全部评论 (0)

还没有任何评论哟~