i2c_master_send
时间: 2023-06-23 16:56:18 浏览: 58
i2c_master_send 是一个在嵌入式系统中使用的函数,用于将数据通过 I2C 总线发送到 I2C 设备。它的函数原型通常为:
```
int i2c_master_send(struct i2c_client *client, const char *buf, int count);
```
其中,client 是一个指向所需 I2C 设备的结构体的指针,buf 是要发送的数据缓冲区,count 是要发送的数据字节数。这个函数会将数据发送到 I2C 设备,并返回发送的字节数。如果发生错误,返回一个负数。
相关问题
i2c_master_send原型
i2c_master_send 函数的原型通常定义在 I2C 驱动程序的头文件中,原型如下:
```c
int i2c_master_send(struct i2c_client *client, const char *buf, int count);
```
其中,参数的含义如下:
- `client`:指向 I2C 客户端设备结构体的指针,表示要发送数据的 I2C 设备;
- `buf`:指向要发送的数据缓冲区的指针;
- `count`:表示要发送的数据字节数。
函数的返回值为发送成功的数据字节数,如果返回值小于 0,则表示发送失败。
while (!I2C_CheckStatus(HTCFG_I2C_MASTER_PORT, I2C_MASTER_SEND_START));
这是一行使用了 HTCFG_I2C_MASTER_PORT 和 I2C_MASTER_SEND_START 宏定义的代码,用于检查 I2C 总线的状态并发送起始信号。具体来说,该代码会反复执行 I2C_CheckStatus 函数,直到 I2C 总线状态为 I2C_MASTER_SEND_START(表示起始信号已发送成功)为止。在这个过程中,代码会一直等待,直到 I2C 总线上没有冲突,才会继续执行后续的代码。