I2c 協(xié)議
數(shù)據(jù)有效性
SDA在SCL高電平期間必須保持穩(wěn)定既们,而只有在SCL低電平期間數(shù)據(jù)線(SDA)才可以進行高低電平切換
開始位: START開始位是SCL高電平期間SDA HIGH->LOW
STOP停止位: SCk高電平期間SDA LOW->HIGH
注:I2C有效地址位7位
image.png
linux設(shè)備驅(qū)動數(shù)據(jù)結(jié)構(gòu)
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一致了嚎,因為這是他們配備的一個依據(jù),id_table 是i2c_device_id結(jié)構(gòu)體的一個對象,里面定義了i2c驅(qū)動對應(yīng)設(shè)備的i2c地址凌那,