linux中gt9xx驱动的gtp_i2c_read(ts->client, point_data, 12)解析
时间: 2024-03-28 07:37:42 浏览: 13
在 Linux 中 gt9xx 驱动的 `gtp_i2c_read(ts->client, point_data, 12)` 函数用于通过 I2C 总线从触摸屏芯片中读取数据。具体来说,它会向触摸屏芯片发送一个读取命令,然后等待芯片返回数据。函数的参数解析如下:
- `ts->client`:表示 I2C 设备的句柄,是之前通过 `i2c_new_device` 函数创建的。
- `point_data`:表示读取到的数据将要存储的缓冲区,长度为 12 个字节。这些数据是从触摸屏芯片中读取到的坐标点的信息,包括横坐标、纵坐标、压力等信息。
- `12`:表示要读取的字节数。在这个函数中,gt9xx 芯片被要求返回 6 个 16 位字节,即总共 12 个字节。
此外,在读取数据之前,一般需要先向 gt9xx 芯片发送一个读取命令,以告诉芯片读取哪些寄存器中的数据。具体的命令和寄存器地址可以参考芯片的数据手册。
相关问题
linux中gt9xx驱动的gtp_i2c_read(ts->client, config, ts->gtp_cfg_len + GTP_ADDR_LENGTH);返回值
函数gtp_i2c_read()的返回值代表读取数据的状态,通常情况下,返回值为读取到的数据的字节数。如果返回值小于0,则表示读取数据出现了错误。具体的错误码需要根据函数实现来确定,一般情况下,会通过errno全局变量返回错误码。需要注意的是,在使用gtp_i2c_read()函数时,需要保证传递的参数是正确的,否则也会导致读取数据失败。
linux中gt9xx驱动的ts->gtp_cfg_len = GTP_CONFIG_MAX_LENGTH; ret = gtp_i2c_read(ts->client, config, ts->gtp_cfg_len + GTP_ADDR_LENGTH);
这段代码是gt9xx触摸屏驱动中的一部分,用于从触摸屏芯片中读取配置数据。具体来说,这段代码将GTP_CONFIG_MAX_LENGTH和GTP_ADDR_LENGTH相加得到一个长度值,然后通过I2C总线读取这个长度的数据,并将读取的数据保存在config缓冲区中。其中,ts是一个指向触摸屏设备结构体的指针,通过ts->client可以获取到该设备的I2C客户端对象,从而进行I2C读写操作。读取到的数据将会被用于配置触摸屏芯片的参数和特性。