I2C
优质
小牛编辑
127浏览
2023-12-01
I2C设备接口
结构体 | |
struct | rt_i2c_msg |
I2C消息 更多... | |
struct | rt_i2c_bus_device_ops |
I2C总线设备的操作方法 更多... | |
struct | rt_i2c_bus_device |
I2C总线设备控制块 更多... | |
宏定义 | |
#define | RT_I2C_WR 0x0000 |
I2C写标志 | |
#define | RT_I2C_RD (1u << 0) |
I2C读标志 | |
#define | RT_I2C_ADDR_10BIT (1u << 2) |
10位的设备地址 | |
#define | RT_I2C_NO_START (1u << 4) |
无开始条件 | |
#define | RT_I2C_IGNORE_NACK (1u << 5) |
忽略NACK | |
#define | RT_I2C_NO_READ_ACK (1u << 6) |
读的时候不发送ACK | |
函数 | |
rt_err_t | rt_i2c_bus_device_register (struct rt_i2c_bus_device *bus, const char *bus_name) |
注册I2C 总线设备 | |
rt_size_t | rt_i2c_transfer (struct rt_i2c_bus_device *bus, struct rt_i2c_msg msgs[], rt_uint32_t num) |
I2C 数据传输 | |
详细描述
I2C设备接口
函数说明
rt_err_t rt_i2c_bus_device_register | ( | struct rt_i2c_bus_device * | bus, |
const char * | bus_name | ||
) |
注册I2C 总线设备
本函数用于向系统中注册I2C 总线设备。
- 参数
bus I2C 总线设备句柄 bus_name I2C 总线设备名称,一般与硬件控制器名称一致,如:“i2c0”
- 返回
- RT_EOK 成功;-RT_ERROR 注册失败,已有其他驱动使用该bus_name注册。
rt_size_t rt_i2c_transfer | ( | struct rt_i2c_bus_device * | bus, |
struct rt_i2c_msg | msgs[], | ||
rt_uint32_t | num | ||
) |
I2C 数据传输
该函数传递的消息是链式结构,可以通过消息链,实现调用一次完成多次数据的收发,主机调用此函数可以完成读或者写从设备的操作。
- 参数
bus I2C 总线设备句柄 msgs[] I2C 消息数组 num I2C 消息数组的数量
- 返回
- 传输成功则返回成功传输的消息数组的个数;失败则返回其他错误码。