WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
I2C_V150 Common

结构体

struct  hal_i2c_trans_info
 HAL层I2C的传输信息数据结构定义 更多...
 
struct  hal_i2c_ctrl_info
 HAL层I2C的控制信息数据结构定义 更多...
 

宏定义

#define I2C_TRUE   1
 
#define I2C_FALSE   0
 
#define I2C_V150_DEFAULT_WRITE_NUM   0xFFFFFFFF
 
#define I2C_V150_DEFAULT_READ_NUM   0xFFFFFFFF
 
#define I2C_CFG_SCL_H_DEFAULT_VAL   1
 
#define I2C_CFG_SCL_L_DEFAULT_VAL   1
 

类型定义

typedef enum hal_i2c_trans_mode hal_i2c_trans_mode_t
 I2C读写模式定义
 
typedef enum hal_i2c_work_type hal_i2c_work_type_t
 I2C工作模式定义
 
typedef enum hal_i2c_addr_width hal_i2c_addr_width_t
 I2C地址位宽定义
 
typedef struct hal_i2c_trans_info hal_i2c_trans_info_t
 HAL层I2C的传输信息数据结构定义
 
typedef struct hal_i2c_ctrl_info hal_i2c_ctrl_info_t
 HAL层I2C的控制信息数据结构定义
 
typedef errcode_t(* hal_i2c_inner_ctrl_t) (i2c_bus_t bus, uintptr_t param)
 HAL层I2C控制接口。
 

枚举

enum  hal_i2c_trans_mode {
  I2C_TRANS_MODE_INVALID = 0 , I2C_TRANS_MODE_WRITE = 1 , I2C_TRANS_MODE_READ = 2 , I2C_TRANS_MODE_WRITE_BEFORE_READ = 3 ,
  I2C_TRANS_MODE_STOP_AFTER_WRITE = 4 , I2C_TRANS_TYPE_MAX_NUM
}
 I2C读写模式定义 更多...
 
enum  hal_i2c_work_type {
  I2C_WORK_TYPE_POLL_NOFIFO = 0 , I2C_WORK_TYPE_POLL_FIFO = 1 , I2C_WORK_TYPE_INT_NOFIFO = 2 , I2C_WORK_TYPE_INT_FIFO = 3 ,
  I2C_WORK_TYPE_MAX_NUM
}
 I2C工作模式定义 更多...
 
enum  hal_i2c_addr_width { I2C_7_BITS_ADDR , I2C_10_BITS_ADDR , I2C_INVALID_BITS_ADDR }
 I2C地址位宽定义 更多...
 

函数

hal_i2c_ctrl_info_thal_i2c_v150_get_ctrl_info (i2c_bus_t bus)
 
void hal_i2c_v150_load_ctrl_func (i2c_bus_t bus, hal_i2c_inner_ctrl_t *func_table)
 
void hal_i2c_v150_unload_ctrl_func (i2c_bus_t bus)
 
void hal_i2c_v150_register_callback (hal_i2c_callback_t callback)
 
hal_i2c_trans_info_thal_i2c_v150_get_trans_info (i2c_bus_t bus)
 
errcode_t hal_i2c_v150_ctrl_check_default (i2c_bus_t bus, uintptr_t param)
 
errcode_t hal_i2c_v150_ctrl_check_default_false (i2c_bus_t bus, uintptr_t param)
 
errcode_t hal_i2c_v150_ctrl_proc_default (i2c_bus_t bus, uintptr_t param)
 
errcode_t hal_i2c_v150_get_write_num (i2c_bus_t bus, uintptr_t param)
 
errcode_t hal_i2c_v150_get_read_num (i2c_bus_t bus, uintptr_t param)
 
errcode_t hal_i2c_v150_send_byte (i2c_bus_t bus, uint8_t data, uint8_t should_start)
 
errcode_t hal_i2c_v150_receive_byte (i2c_bus_t bus, uint8_t *data, uint32_t remain_len)
 
errcode_t hal_i2c_v150_write (i2c_bus_t bus, hal_i2c_buffer_wrap_t *data)
 
errcode_t hal_i2c_v150_read (i2c_bus_t bus, hal_i2c_buffer_wrap_t *data)
 
errcode_t hal_i2c_v150_deinit (i2c_bus_t bus)
 
void hal_i2c_v150_cfg_clk (i2c_bus_t bus, uint32_t baudrate, uint8_t scl_h, uint8_t scl_l)
 
void hal_i2c_v150_init_comp_param (i2c_bus_t bus)
 
errcode_t hal_i2c_v150_ctrl (i2c_bus_t bus, hal_i2c_ctrl_id_t id, uintptr_t param)
 
void hal_i2c_v150_irq_handler (i2c_bus_t bus)
 

详细描述

Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2023-2023. All rights reserved.

Description: Provides V150 HAL i2c
History:
2023-03-06, Create file.

宏定义说明

◆ I2C_CFG_SCL_H_DEFAULT_VAL

#define I2C_CFG_SCL_H_DEFAULT_VAL   1

◆ I2C_CFG_SCL_L_DEFAULT_VAL

#define I2C_CFG_SCL_L_DEFAULT_VAL   1

◆ I2C_FALSE

#define I2C_FALSE   0

◆ I2C_TRUE

#define I2C_TRUE   1

◆ I2C_V150_DEFAULT_READ_NUM

#define I2C_V150_DEFAULT_READ_NUM   0xFFFFFFFF

◆ I2C_V150_DEFAULT_WRITE_NUM

#define I2C_V150_DEFAULT_WRITE_NUM   0xFFFFFFFF

类型定义说明

◆ hal_i2c_addr_width_t

I2C地址位宽定义

◆ hal_i2c_ctrl_info_t

HAL层I2C的控制信息数据结构定义

◆ hal_i2c_inner_ctrl_t

typedef errcode_t(* hal_i2c_inner_ctrl_t) (i2c_bus_t bus, uintptr_t param)

HAL层I2C控制接口。

◆ hal_i2c_trans_info_t

HAL层I2C的传输信息数据结构定义

◆ hal_i2c_trans_mode_t

I2C读写模式定义

◆ hal_i2c_work_type_t

I2C工作模式定义

枚举类型说明

◆ hal_i2c_addr_width

I2C地址位宽定义

枚举值
I2C_7_BITS_ADDR 

I2C以7位寻址模式开始传输。

I2C_10_BITS_ADDR 

I2C以10位寻址模式开始传输。

I2C_INVALID_BITS_ADDR 

◆ hal_i2c_trans_mode

I2C读写模式定义

枚举值
I2C_TRANS_MODE_INVALID 
I2C_TRANS_MODE_WRITE 
I2C_TRANS_MODE_READ 
I2C_TRANS_MODE_WRITE_BEFORE_READ 
I2C_TRANS_MODE_STOP_AFTER_WRITE 
I2C_TRANS_TYPE_MAX_NUM 

◆ hal_i2c_work_type

I2C工作模式定义

枚举值
I2C_WORK_TYPE_POLL_NOFIFO 
I2C_WORK_TYPE_POLL_FIFO 
I2C_WORK_TYPE_INT_NOFIFO 
I2C_WORK_TYPE_INT_FIFO 
I2C_WORK_TYPE_MAX_NUM 

函数说明

◆ hal_i2c_v150_cfg_clk()

void hal_i2c_v150_cfg_clk ( i2c_bus_t  bus,
uint32_t  baudrate,
uint8_t  scl_h,
uint8_t  scl_l 
)

◆ hal_i2c_v150_ctrl()

errcode_t hal_i2c_v150_ctrl ( i2c_bus_t  bus,
hal_i2c_ctrl_id_t  id,
uintptr_t  param 
)

◆ hal_i2c_v150_ctrl_check_default()

errcode_t hal_i2c_v150_ctrl_check_default ( i2c_bus_t  bus,
uintptr_t  param 
)

◆ hal_i2c_v150_ctrl_check_default_false()

errcode_t hal_i2c_v150_ctrl_check_default_false ( i2c_bus_t  bus,
uintptr_t  param 
)

◆ hal_i2c_v150_ctrl_proc_default()

errcode_t hal_i2c_v150_ctrl_proc_default ( i2c_bus_t  bus,
uintptr_t  param 
)

◆ hal_i2c_v150_deinit()

errcode_t hal_i2c_v150_deinit ( i2c_bus_t  bus)

◆ hal_i2c_v150_get_ctrl_info()

hal_i2c_ctrl_info_t * hal_i2c_v150_get_ctrl_info ( i2c_bus_t  bus)

◆ hal_i2c_v150_get_read_num()

errcode_t hal_i2c_v150_get_read_num ( i2c_bus_t  bus,
uintptr_t  param 
)

◆ hal_i2c_v150_get_trans_info()

hal_i2c_trans_info_t * hal_i2c_v150_get_trans_info ( i2c_bus_t  bus)

◆ hal_i2c_v150_get_write_num()

errcode_t hal_i2c_v150_get_write_num ( i2c_bus_t  bus,
uintptr_t  param 
)

◆ hal_i2c_v150_init_comp_param()

void hal_i2c_v150_init_comp_param ( i2c_bus_t  bus)

◆ hal_i2c_v150_irq_handler()

void hal_i2c_v150_irq_handler ( i2c_bus_t  bus)

◆ hal_i2c_v150_load_ctrl_func()

void hal_i2c_v150_load_ctrl_func ( i2c_bus_t  bus,
hal_i2c_inner_ctrl_t func_table 
)

◆ hal_i2c_v150_read()

errcode_t hal_i2c_v150_read ( i2c_bus_t  bus,
hal_i2c_buffer_wrap_t data 
)

◆ hal_i2c_v150_receive_byte()

errcode_t hal_i2c_v150_receive_byte ( i2c_bus_t  bus,
uint8_t *  data,
uint32_t  remain_len 
)

◆ hal_i2c_v150_register_callback()

void hal_i2c_v150_register_callback ( hal_i2c_callback_t  callback)

◆ hal_i2c_v150_send_byte()

errcode_t hal_i2c_v150_send_byte ( i2c_bus_t  bus,
uint8_t  data,
uint8_t  should_start 
)

◆ hal_i2c_v150_unload_ctrl_func()

void hal_i2c_v150_unload_ctrl_func ( i2c_bus_t  bus)

◆ hal_i2c_v150_write()

errcode_t hal_i2c_v150_write ( i2c_bus_t  bus,
hal_i2c_buffer_wrap_t data 
)