Linux i2c bus driver

Linux i2c bus driver在处理读写的时候,需要对i2c slave address进行转换,参数是i2c_msg *msg,这个参数由上层代码传下,我们需要对他的msg->addr成员变量初始化,典型的代码是:

unsigned int addr = (msg->addr & 0x7F) << 1; 

也就是需要将地址向左移动1个bit,因为这个留下来的bit,用于表示是读操作,还是写操作。

你可能感兴趣的:(c,linux)