I2c 协议
数据有效性
SDA在SCL高电平期间必须保持稳定,而只有在SCL低电平期间数据线(SDA)才可以进行高低电平切换
开始位: START开始位是SCL高电平期间SDA HIGH->LOW
STOP停止位: SCk高电平期间SDA LOW->HIGH
注:I2C有效地址位7位
linux设备驱动数据结构
static struct i2c_driver xxxx_driver =
{
.driver =
{
.owner = THIS_MODULE,
.name = "xxxx",
},
.id_table = xxxx_idtable,
.probe = xxxx_probe,
}
static const struct i2c_device_id smb347_id[] = {
{ "smb347", 0 },
}
i2c_driver 中的driver.name 要和i2c_client一致,因为这是他们配备的一个依据,id_table 是i2c_device_id结构体的一个对象,里面定义了i2c驱动对应设备的i2c地址,