初级会员

- 积分
- 178
- 金钱
- 178
- 注册时间
- 2020-3-11
- 在线时间
- 17 小时
|
1金钱
static int edt_ft5x06_ts_readwrite(struct i2c_client *client,
u16 wr_len, u8 *wr_buf,
u16 rd_len, u8 *rd_buf)
{
struct i2c_msg wrmsg[2];
int i = 0;
int ret;
if (wr_len) {
wrmsg.addr = client->addr;
wrmsg.flags = 0;
wrmsg.len = wr_len;
wrmsg.buf = wr_buf;
i++;
} /*此处有疑问,第一个if语句执行完以后,wr_len 会自动减1嘛?*/
if (rd_len) {
wrmsg.addr = client->addr;
wrmsg.flags = I2C_M_RD;
wrmsg.len = rd_len;
wrmsg.buf = rd_buf;
i++;
}
ret = i2c_transfer(client->adapter, wrmsg, i);
if (ret < 0)
return ret;
if (ret != i)
return -EIO;
return 0;
}
|
|