12#ifndef __XF_HAL_I2C_H__
13#define __XF_HAL_I2C_H__
28#if XF_HAL_I2C_IS_ENABLE
252 uint32_t timeout_ms);
uint32_t xf_gpio_num_t
gpio 序号。
xf_err_t xf_hal_i2c_set_gpio(xf_i2c_num_t i2c_num, xf_gpio_num_t scl_num, xf_gpio_num_t sda_num)
i2c 设置 gpio。
struct _xf_hal_i2c_config_t xf_hal_i2c_config_t
对移植者,用于对接 i2c 设置的参数。
_xf_hal_i2c_address_width_t
i2c 从机地址宽度。
xf_err_t xf_hal_i2c_set_address(xf_i2c_num_t i2c_num, uint16_t address)
i2c 设置 i2c 从机地址。
xf_err_t xf_hal_i2c_set_mem_addr_width(xf_i2c_num_t i2c_num, xf_hal_i2c_mem_addr_width_t mem_addr_widths)
i2c 设置 i2c 内存地址宽度。
xf_err_t xf_hal_i2c_init(xf_i2c_num_t i2c_num, xf_hal_i2c_hosts_t hosts, uint32_t speed)
i2c 初始化函数。使用 i2c 之前必须要进行初始化。
enum _xf_hal_i2c_mem_addr_en_t xf_hal_i2c_mem_addr_en_t
i2c 从机内存地址是否启用。
enum _xf_hal_i2c_cmd_t xf_hal_i2c_cmd_t
对移植者,用于对接 i2c 指令的命令。
xf_err_t xf_hal_i2c_disable(xf_i2c_num_t i2c_num)
i2c 禁用函数。
_xf_hal_i2c_hosts_t
i2c 主从模式。
_xf_hal_i2c_cmd_t
对移植者,用于对接 i2c 指令的命令。
_xf_hal_i2c_mem_addr_width_t
i2c 从机内存地址宽度。
xf_err_t xf_hal_i2c_deinit(xf_i2c_num_t i2c_num)
i2c 反初始化函数,恢复到未初始化状态且回收相关资源。
enum _xf_hal_i2c_hosts_t xf_hal_i2c_hosts_t
i2c 主从模式。
enum _xf_hal_i2c_address_width_t xf_hal_i2c_address_width_t
i2c 从机地址宽度。
_xf_hal_i2c_mem_addr_en_t
i2c 从机内存地址是否启用。
int xf_hal_i2c_write_mem(xf_i2c_num_t i2c_num, uint32_t mem_addr, const uint8_t *buffer, uint32_t size, uint32_t timeout_ms)
i2c 指定从机内存写入。
enum _xf_hal_i2c_mem_addr_width_t xf_hal_i2c_mem_addr_width_t
i2c 从机内存地址宽度。
int xf_hal_i2c_write(xf_i2c_num_t i2c_num, const uint8_t *buffer, uint32_t size, uint32_t timeout_ms)
i2c 写入数据。
int xf_hal_i2c_read(xf_i2c_num_t i2c_num, uint8_t *buffer, uint32_t size, uint32_t timeout_ms)
i2c 读取数据。
xf_err_t xf_hal_i2c_set_address_width(xf_i2c_num_t i2c_num, xf_hal_i2c_address_width_t address_width)
i2c 设置地址宽度。
uint32_t xf_i2c_num_t
i2c 序号。
xf_err_t xf_hal_i2c_enable(xf_i2c_num_t i2c_num)
i2c 启用函数。i2c 配置好功能后,可以调用 i2c 启用函数进行激活。
int xf_hal_i2c_read_mem(xf_i2c_num_t i2c_num, uint32_t mem_addr, uint8_t *buffer, uint32_t size, uint32_t timeout_ms)
i2c 指定从机内存读取。
@ _XF_HAL_I2C_ADDRESS_WIDTH_MAX
@ _XF_HAL_I2C_ADDRESS_WIDTH_BASE
@ XF_HAL_I2C_ADDRESS_WIDTH_10BIT
@ XF_HAL_I2C_ADDRESS_WIDTH_7BIT
@ XF_HAL_I2C_HOSTS_MASTER
@ XF_HAL_I2C_CMD_MEM_ADDR_WIDTH
@ XF_HAL_I2C_CMD_ADDRESS_WIDTH
@ XF_HAL_I2C_CMD_MEM_ADDR
@ XF_HAL_I2C_CMD_MEM_ADDR_EN
@ _XF_HAL_I2C_MEM_ADDR_WIDTH_MAX
@ _XF_HAL_I2C_MEM_ADDR_WIDTH_BASE
@ XF_HAL_I2C_MEM_ADDR_WIDTH_24BIT
@ XF_HAL_I2C_MEM_ADDR_WIDTH_32BIT
@ XF_HAL_I2C_MEM_ADDR_WIDTH_16BIT
@ XF_HAL_I2C_MEM_ADDR_WIDTH_8BIT
@ _XF_HAL_I2C_MEM_ADDR_BASE
@ _XF_HAL_I2C_MEM_ADDR_MAX
@ XF_HAL_I2C_MEM_ADDR_DISABLE
@ XF_HAL_I2C_MEM_ADDR_ENABLE
int32_t xf_err_t
整形错误类型。 错误码具体值见 xf_err_code_t.
xf_hal 设备配置(仅 xf_hal device 内部使用)。
xf_hal 的 gpio(通用输入输出) 设备抽象。