| 
| static xf_hal_dev_t *  | i2c_constructor (xf_i2c_num_t i2c_num) | 
|   | 
| xf_err_t  | xf_hal_i2c_register (const xf_driver_ops_t *driver_ops) | 
|   | 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_width) | 
|   | 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 读取数据。  
  | 
|   |