extern int i2c_transfer(struct i2c_adapter *adap, struct i2c_msg *msgs, int num);
时间: 2024-05-20 14:18:45 浏览: 15
这是一个在 Linux 内核中用于进行 I2C 传输的函数。它接受一个指向 I2C 适配器和 I2C 消息数组的指针,以及消息数组中消息的数量。该函数将按照消息数组中的顺序执行 I2C 传输,并返回执行传输的消息数量。在执行传输期间,该函数将与 I2C 总线进行通信,并将消息发送到设备或从设备接收数据。
相关问题
extern int i2c_transfer(struct i2c_adapter *adap, struct i2c_msg *msgs, int num);的形参是什么意思
这是一个在 Linux 操作系统内核中使用的函数,用于向 I2C 设备发送和接收数据。该函数的参数包括:
- `adap`:指向 `struct i2c_adapter` 类型的指针,表示要使用的 I2C 适配器。
- `msgs`:指向 `struct i2c_msg` 类型的指针,表示要传输的消息。具体来说,包括要访问的 I2C 设备的地址(7 位或 10 位)、读写标志、数据缓冲区指针和数据长度等。
- `num`:表示要传输的消息的数量。
通过这些参数,`i2c_transfer` 函数可以完成 I2C 总线上的读写操作。
extern I2C_HandleTypeDef hi2c1;
您好!对于您的问题,`extern I2C_HandleTypeDef hi2c1;`是一个外部变量声明。它表明在其他地方已经定义了一个名为`hi2c1`的类型为`I2C_HandleTypeDef`的变量,而在当前文件中只是进行了声明,以便在当前文件中使用该变量而不需要重新定义。这种声明通常用于多个源文件共享同一个变量的情况,以实现全局变量的效果。