|
| enum | hal_i2c_speed_mode {
I2C_SPEED_MODE_HARDCODE = 0
, I2C_SPEED_MODE_SS = 0
, I2C_SPEED_MODE_FS
, I2C_SPEED_MODE_HS
,
I2C_SPEED_MODE_MAX_NUM
} |
| | I2C速率模式定义 更多...
|
| |
| enum | hal_i2c_data_operation_type { I2C_DATA_OPERATION_TYPE_POLL
, I2C_DATA_OPERATION_TYPE_INT
, I2C_DATA_OPERATION_TYPE_DMA
, I2C_DATA_OPERATION_TYPE_INVLAID
} |
| | I2C数据操作类型定义。 更多...
|
| |
| enum | hal_i2c_evt_id {
I2C_EVT_TX_READY = 0
, I2C_EVT_RX_READY
, I2C_EVT_TX_AVAILABLE
, I2C_EVT_TRANSMITION_START
,
I2C_EVT_TRANSMITION_DONE
, I2C_EVT_TRANSMITION_ABRT
, I2C_EVT_TRANSMITION_BUSY
, I2C_EVT_INVALID = 0xF
} |
| | I2C事件ID的定义。 更多...
|
| |
| enum | hal_i2c_ctrl_id {
I2C_CTRL_WRITE_PREPARE = 0
, I2C_CTRL_WRITE_RESTORE
, I2C_CTRL_READ_PREPARE
, I2C_CTRL_READ_RESTORE
,
I2C_CTRL_GET_WRITE_NUM
, I2C_CTRL_GET_READ_NUM
, I2C_CTRL_CHECK_TX_AVAILABLE
, I2C_CTRL_CHECK_RX_AVAILABLE
,
I2C_CTRL_FLUSH_RX_FIFO
, I2C_CTRL_CHECK_TX_PROCESS_DONE
, I2C_CTRL_CHECK_RX_PROCESS_DONE
, I2C_CTRL_CHECK_RESTART_READY
,
I2C_CTRL_NORMAL_MAX = I2C_CTRL_CHECK_RESTART_READY
, I2C_CTRL_CHECK_TRANSMIT_ABRT
, I2C_CTRL_GET_DMA_DATA_ADDR
, I2C_CTRL_CHECK_TX_FIFO_EMPTY
,
I2C_CTRL_MAX
, I2C_CTRL_ID_INVALID = 0x1F
} |
| | I2C控制ID定义。 更多...
|
| |
|
| errcode_t | hal_i2c_master_init (i2c_bus_t bus, uint32_t baudrate, uint8_t hscode, hal_i2c_callback_t callback) |
| | HAL层I2C初始化为主机。
|
| |
| errcode_t | hal_i2c_slave_init (i2c_bus_t bus, uint32_t baudrate, uint16_t addr, hal_i2c_callback_t callback) |
| | HAL层I2C初始化为主机。
|
| |
| errcode_t | hal_i2c_deinit (i2c_bus_t bus) |
| | HAL层I2C去初始化接口
|
| |
| errcode_t | hal_i2c_ctrl (i2c_bus_t bus, hal_i2c_ctrl_id_t id, uintptr_t param) |
| | HAL层I2C控制接口。
|
| |
| errcode_t | hal_i2c_write (i2c_bus_t bus, hal_i2c_buffer_wrap_t *data) |
| | HAL层I2C发送数据接口。
|
| |
| errcode_t | hal_i2c_read (i2c_bus_t bus, hal_i2c_buffer_wrap_t *data) |
| | HAL层I2C读取数据接口。
|
| |
Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2022-2022. All rights reserved.
Description: Provides HAL i2c
History:
2022-06-07, Create file.
◆ I2C_FS_MODE_BAUDRATE_HIGH_LIMIT
| #define I2C_FS_MODE_BAUDRATE_HIGH_LIMIT (400 * 1000) |
◆ I2C_HS_MODE_BAUDRATE_HIGH_LIMIT
| #define I2C_HS_MODE_BAUDRATE_HIGH_LIMIT (3400 * 1000) |
◆ I2C_HS_MODE_MASTER_CODE_MAX
| #define I2C_HS_MODE_MASTER_CODE_MAX 7 |
◆ I2C_SS_MODE_BAUDRATE_HIGH_LIMIT
| #define I2C_SS_MODE_BAUDRATE_HIGH_LIMIT (100 * 1000) |
◆ hal_i2c_buffer_wrap_t
◆ hal_i2c_callback_t
◆ hal_i2c_ctrl_id_t
◆ hal_i2c_data_operation_type_t
◆ hal_i2c_evt_id_t
◆ hal_i2c_prepare_config_t
◆ hal_i2c_speed_mode_t
◆ hal_i2c_ctrl_id
I2C控制ID定义。
| 枚举值 |
|---|
| I2C_CTRL_WRITE_PREPARE | 发送前的准备配置。
|
| I2C_CTRL_WRITE_RESTORE | 发送完成后恢复配置。
|
| I2C_CTRL_READ_PREPARE | 接收数据前准备配置。
|
| I2C_CTRL_READ_RESTORE | 发送完成后恢复配置。
|
| I2C_CTRL_GET_WRITE_NUM | 获取可以发送的数据长度。
|
| I2C_CTRL_GET_READ_NUM | 获取可以发送的数据长度。
|
| I2C_CTRL_CHECK_TX_AVAILABLE | 检查是否可以对tx fifo 进行填充。
|
| I2C_CTRL_CHECK_RX_AVAILABLE | 检查是否可以对rx fifo 进行访问。
|
| I2C_CTRL_FLUSH_RX_FIFO | 刷新RX FIFO。
|
| I2C_CTRL_CHECK_TX_PROCESS_DONE | 确认发送传输过程是否完成。
|
| I2C_CTRL_CHECK_RX_PROCESS_DONE | 确认接收传输过程是否完成。
|
| I2C_CTRL_CHECK_RESTART_READY | 确认可以开始配置restart。
|
| I2C_CTRL_NORMAL_MAX | |
| I2C_CTRL_CHECK_TRANSMIT_ABRT | 检查传输异常取消状态。
|
| I2C_CTRL_GET_DMA_DATA_ADDR | 获取数据命令寄存器。
|
| I2C_CTRL_CHECK_TX_FIFO_EMPTY | 检查tx fifo 是否为空。
|
| I2C_CTRL_MAX | |
| I2C_CTRL_ID_INVALID | |
◆ hal_i2c_data_operation_type
I2C数据操作类型定义。
| 枚举值 |
|---|
| I2C_DATA_OPERATION_TYPE_POLL | I2C 对数据进行轮询处理
|
| I2C_DATA_OPERATION_TYPE_INT | I2C 对数据进行中断处理
|
| I2C_DATA_OPERATION_TYPE_DMA | I2C 对数据进行DMA处理
|
| I2C_DATA_OPERATION_TYPE_INVLAID | |
◆ hal_i2c_evt_id
I2C事件ID的定义。
| 枚举值 |
|---|
| I2C_EVT_TX_READY | 发送FIFO等于小于发送阈值,TX_EMPTY中断。
|
| I2C_EVT_RX_READY | 接收FIFO到达或者超过接收阈值,RX_FULL中断。
|
| I2C_EVT_TX_AVAILABLE | I2C作为从机收到主机读取数据指令,RD_REQ中断。
|
| I2C_EVT_TRANSMITION_START | 新的传输或者接收任务开始,START_DET中断。
|
| I2C_EVT_TRANSMITION_DONE | 传输或者接收任务结束,STOP_DET中断。
|
| I2C_EVT_TRANSMITION_ABRT | 传输或者接收出现异常,TX_ABRT中断。
|
| I2C_EVT_TRANSMITION_BUSY | 总线忙,BUS_BUSY中断。
|
| I2C_EVT_INVALID | |
◆ hal_i2c_speed_mode
I2C速率模式定义
| 枚举值 |
|---|
| I2C_SPEED_MODE_HARDCODE | |
| I2C_SPEED_MODE_SS | I2C标速模式。
|
| I2C_SPEED_MODE_FS | I2C快速模式。
|
| I2C_SPEED_MODE_HS | I2C高速模式。
|
| I2C_SPEED_MODE_MAX_NUM | |
◆ hal_i2c_ctrl()
◆ hal_i2c_deinit()
◆ hal_i2c_master_init()
◆ hal_i2c_read()
◆ hal_i2c_slave_init()
◆ hal_i2c_write()