| 
    XFusion API v1.3.0
    
   | 
 
同步半双工串行通信总线。 更多...

结构体 | |
| struct | _xf_hal_i2c_config_t | 
| 对移植者,用于对接 i2c 设置的参数。  更多... | |
类型定义 | |
| typedef uint32_t | xf_i2c_num_t | 
| i2c 序号。   | |
| typedef enum _xf_hal_i2c_address_width_t | xf_hal_i2c_address_width_t | 
| i2c 从机地址宽度。   | |
| typedef enum _xf_hal_i2c_hosts_t | xf_hal_i2c_hosts_t | 
| i2c 主从模式。   | |
| typedef enum _xf_hal_i2c_mem_addr_en_t | xf_hal_i2c_mem_addr_en_t | 
| i2c 从机内存地址是否启用。   | |
| typedef enum _xf_hal_i2c_mem_addr_width_t | xf_hal_i2c_mem_addr_width_t | 
| i2c 从机内存地址宽度。   | |
| typedef enum _xf_hal_i2c_cmd_t | xf_hal_i2c_cmd_t | 
| 对移植者,用于对接 i2c 指令的命令。   | |
| typedef struct _xf_hal_i2c_config_t | xf_hal_i2c_config_t | 
| 对移植者,用于对接 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 之前必须要进行初始化。   | |
| xf_err_t | xf_hal_i2c_deinit (xf_i2c_num_t i2c_num) | 
| i2c 反初始化函数,恢复到未初始化状态且回收相关资源。   | |
| xf_err_t | xf_hal_i2c_enable (xf_i2c_num_t i2c_num) | 
| i2c 启用函数。i2c 配置好功能后,可以调用 i2c 启用函数进行激活。   | |
| xf_err_t | xf_hal_i2c_disable (xf_i2c_num_t i2c_num) | 
| i2c 禁用函数。   | |
| 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。   | |
| xf_err_t | xf_hal_i2c_set_address_width (xf_i2c_num_t i2c_num, xf_hal_i2c_address_width_t address_width) | 
| 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 内存地址宽度。   | |
| 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 指定从机内存写入。   | |
| 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 指定从机内存读取。   | |
| 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 读取数据。   | |
同步半双工串行通信总线。
| typedef uint32_t xf_i2c_num_t | 
i2c 序号。
在文件 xf_hal_i2c.h 第 43 行定义.
| typedef enum _xf_hal_i2c_address_width_t xf_hal_i2c_address_width_t | 
i2c 从机地址宽度。
| typedef enum _xf_hal_i2c_hosts_t xf_hal_i2c_hosts_t | 
i2c 主从模式。
| typedef enum _xf_hal_i2c_mem_addr_en_t xf_hal_i2c_mem_addr_en_t | 
i2c 从机内存地址是否启用。
| typedef enum _xf_hal_i2c_mem_addr_width_t xf_hal_i2c_mem_addr_width_t | 
i2c 从机内存地址宽度。
| typedef enum _xf_hal_i2c_cmd_t xf_hal_i2c_cmd_t | 
对移植者,用于对接 i2c 指令的命令。
| typedef struct _xf_hal_i2c_config_t xf_hal_i2c_config_t | 
对移植者,用于对接 i2c 设置的参数。
i2c 从机地址宽度。
| 枚举值 | |
|---|---|
| _XF_HAL_I2C_ADDRESS_WIDTH_BASE | |
| XF_HAL_I2C_ADDRESS_WIDTH_7BIT | 7 位地址宽度  | 
| XF_HAL_I2C_ADDRESS_WIDTH_10BIT | 10 位地址宽度模式  | 
| _XF_HAL_I2C_ADDRESS_WIDTH_MAX | |
在文件 xf_hal_i2c.h 第 48 行定义.
| enum _xf_hal_i2c_hosts_t | 
i2c 主从模式。
| 枚举值 | |
|---|---|
| _XF_HAL_I2C_HOSTS_BASE | |
| XF_HAL_I2C_HOSTS_MASTER | i2c主机模式  | 
| XF_HAL_I2C_HOSTS_SLAVE | i2c从机模式  | 
| _XF_HAL_I2C_HOSTS_MAX | |
在文件 xf_hal_i2c.h 第 60 行定义.
i2c 从机内存地址是否启用。
| 枚举值 | |
|---|---|
| _XF_HAL_I2C_MEM_ADDR_BASE | |
| XF_HAL_I2C_MEM_ADDR_DISABLE | i2c 禁用从机内存地址  | 
| XF_HAL_I2C_MEM_ADDR_ENABLE | i2c 启用从机内存地址  | 
| _XF_HAL_I2C_MEM_ADDR_MAX | |
在文件 xf_hal_i2c.h 第 72 行定义.
i2c 从机内存地址宽度。
在文件 xf_hal_i2c.h 第 84 行定义.
| enum _xf_hal_i2c_cmd_t | 
对移植者,用于对接 i2c 指令的命令。
| 枚举值 | |
|---|---|
| XF_HAL_I2C_CMD_DEFAULT | 默认参数命令,在创建设备时优先执行  | 
| XF_HAL_I2C_CMD_HOSTS | 主从命令,见 xf_hal_i2c_config_t::hosts  | 
| XF_HAL_I2C_CMD_ENABLE | 启用命令,见 xf_hal_i2c_config_t::enable  | 
| XF_HAL_I2C_CMD_ADDRESS_WIDTH | 地址宽度命令,见 xf_hal_i2c_config_t::address_width  | 
| XF_HAL_I2C_CMD_ADDRESS | 地址命令,见 xf_hal_i2c_config_t::address  | 
| XF_HAL_I2C_CMD_MEM_ADDR_EN | 内存地址启用命令,见 xf_hal_i2c_config_t::mem_addr_en  | 
| XF_HAL_I2C_CMD_MEM_ADDR_WIDTH | 内存地址宽度命令,见 xf_hal_i2c_config_t::mem_addr_width  | 
| XF_HAL_I2C_CMD_MEM_ADDR | 内存地址命令,见 xf_hal_i2c_config_t::mem_addr  | 
| XF_HAL_I2C_CMD_SPEED | 速度命令,见 xf_hal_i2c_config_t::speed  | 
| XF_HAL_I2C_CMD_TIMEOUT | |
| XF_HAL_I2C_CMD_SCL_NUM | scl io 命令,见 xf_hal_i2c_config_t::scl_num  | 
| XF_HAL_I2C_CMD_SDA_NUM | sda io 命令,见 xf_hal_i2c_config_t::sda_num  | 
| XF_HAL_I2C_CMD_ALL | 默认设置命令,在创建设备时其次执行  | 
在文件 xf_hal_i2c.h 第 98 行定义.
| xf_err_t xf_hal_i2c_init | ( | xf_i2c_num_t | i2c_num, | 
| xf_hal_i2c_hosts_t | hosts, | ||
| uint32_t | speed | ||
| ) | 
i2c 初始化函数。使用 i2c 之前必须要进行初始化。
| i2c_num | i2c 的序号。 | 
| hosts | 设置主机或从机。见 xf_hal_i2c_hosts_t. | 
| speed | i2c 速度。单位 hz | 
在文件 xf_hal_i2c.c 第 50 行定义.
| xf_err_t xf_hal_i2c_deinit | ( | xf_i2c_num_t | i2c_num | ) | 
i2c 反初始化函数,恢复到未初始化状态且回收相关资源。
| i2c_num | i2c 的序号。 | 
在文件 xf_hal_i2c.c 第 77 行定义.
| xf_err_t xf_hal_i2c_enable | ( | xf_i2c_num_t | i2c_num | ) | 
i2c 启用函数。i2c 配置好功能后,可以调用 i2c 启用函数进行激活。
| i2c_num | i2c 的序号。 | 
在文件 xf_hal_i2c.c 第 92 行定义.
| xf_err_t xf_hal_i2c_disable | ( | xf_i2c_num_t | i2c_num | ) | 
i2c 禁用函数。
如果 i2c 正在启用状态,且不支持动态配置。 则需要该函数先将 i2c 禁用,然后进行配置。再次进行启用。
| i2c_num | i2c 的序号。 | 
在文件 xf_hal_i2c.c 第 117 行定义.
| 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。
| i2c_num | i2c 的序号 | 
| scl_num | scl 的 io 序号 | 
| sda_num | sda 的 io 序号 | 
在文件 xf_hal_i2c.c 第 142 行定义.
| xf_err_t xf_hal_i2c_set_address_width | ( | xf_i2c_num_t | i2c_num, | 
| xf_hal_i2c_address_width_t | address_width | ||
| ) | 
i2c 设置地址宽度。
| i2c_num | i2c 的序号。 | 
| address_width | 地址宽度。可以设置 7 bit 或者是 10 bit。 见 xf_hal_i2c_address_width_t. | 
在文件 xf_hal_i2c.c 第 169 行定义.
| xf_err_t xf_hal_i2c_set_address | ( | xf_i2c_num_t | i2c_num, | 
| uint16_t | address | ||
| ) | 
i2c 设置 i2c 从机地址。
| i2c_num | i2c 的序号。 | 
| address | i2c 地址。需要根据之前设置的宽度填写地址。 | 
在文件 xf_hal_i2c.c 第 194 行定义.
| 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 内存地址宽度。
| i2c_num | i2c 的序号。 | 
| mem_addr_widths | 内存地址宽度。 | 
在文件 xf_hal_i2c.c 第 219 行定义.
| 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 指定从机内存写入。
| i2c_num | i2c 的序号。 | 
| mem_addr | 写入内存地址指针。 | 
| buffer | 写入数据的指针。 | 
| size | 写入数据的大小。 | 
| timeout_ms | 超时时间,单位为 ms(针对有RTOS的底层)。 | 
在文件 xf_hal_i2c.c 第 244 行定义.
| 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 指定从机内存读取。
| i2c_num | i2c 的序号。 | 
| mem_addr | 读取内存地址指针。 | 
| buffer | 读取的数据指针。 | 
| size | 读取数据的大小。 | 
| timeout_ms | 超时时间,单位为 ms(针对有RTOS的底层)。 | 
在文件 xf_hal_i2c.c 第 280 行定义.
| int xf_hal_i2c_write | ( | xf_i2c_num_t | i2c_num, | 
| const uint8_t * | buffer, | ||
| uint32_t | size, | ||
| uint32_t | timeout_ms | ||
| ) | 
i2c 写入数据。
| i2c_num | i2c 的序号。 | 
| buffer | 写入的数据指针。 | 
| size | 写入数据的大小。 | 
| timeout_ms | 超时时间,单位为ms(针对有RTOS的底层)。 | 
在文件 xf_hal_i2c.c 第 315 行定义.
| int xf_hal_i2c_read | ( | xf_i2c_num_t | i2c_num, | 
| uint8_t * | buffer, | ||
| uint32_t | size, | ||
| uint32_t | timeout_ms | ||
| ) | 
i2c 读取数据。
| i2c_num | i2c 的序号。 | 
| buffer | 读取的数据指针。 | 
| size | 读取数据的大小。 | 
| timeout_ms | 超时时间,单位为ms(针对有RTOS的底层)。 | 
在文件 xf_hal_i2c.c 第 347 行定义.