28#define I2C_SS_MODE_BAUDRATE_HIGH_LIMIT (100 * 1000)
30#define I2C_FS_MODE_BAUDRATE_HIGH_LIMIT (400 * 1000)
32#define I2C_HS_MODE_BAUDRATE_HIGH_LIMIT (3400 * 1000)
35#define I2C_HS_MODE_MASTER_CODE_MAX 7
uint32_t errcode_t
Definition of error code.
Definition errcode.h:30
enum hal_i2c_speed_mode hal_i2c_speed_mode_t
I2C速率模式定义
enum hal_i2c_data_operation_type hal_i2c_data_operation_type_t
I2C数据操作类型定义。
hal_i2c_speed_mode
I2C速率模式定义
Definition hal_i2c.h:45
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_ctrl(i2c_bus_t bus, hal_i2c_ctrl_id_t id, uintptr_t param)
HAL层I2C控制接口。
struct hal_i2c_prepare_config hal_i2c_prepare_config_t
I2C准备收发的参数数据结构定义。
errcode_t hal_i2c_read(i2c_bus_t bus, hal_i2c_buffer_wrap_t *data)
HAL层I2C读取数据接口。
enum hal_i2c_ctrl_id hal_i2c_ctrl_id_t
I2C控制ID定义。
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_write(i2c_bus_t bus, hal_i2c_buffer_wrap_t *data)
HAL层I2C发送数据接口。
errcode_t(* hal_i2c_callback_t)(i2c_bus_t bus, hal_i2c_evt_id_t evt, uintptr_t param)
I2C的回调函数
Definition hal_i2c.h:194
hal_i2c_evt_id
I2C事件ID的定义。
Definition hal_i2c.h:80
errcode_t hal_i2c_deinit(i2c_bus_t bus)
HAL层I2C去初始化接口
hal_i2c_ctrl_id
I2C控制ID定义。
Definition hal_i2c.h:105
enum hal_i2c_evt_id hal_i2c_evt_id_t
I2C事件ID的定义。
struct hal_i2c_buffer_wrap hal_i2c_buffer_wrap_t
I2C缓存数据封装数据结构定义。
hal_i2c_data_operation_type
I2C数据操作类型定义。
Definition hal_i2c.h:63
@ I2C_SPEED_MODE_SS
Definition hal_i2c.h:47
@ I2C_SPEED_MODE_FS
Definition hal_i2c.h:49
@ I2C_SPEED_MODE_MAX_NUM
Definition hal_i2c.h:53
@ I2C_SPEED_MODE_HS
Definition hal_i2c.h:51
@ I2C_SPEED_MODE_HARDCODE
Definition hal_i2c.h:46
@ I2C_EVT_TX_READY
Definition hal_i2c.h:81
@ I2C_EVT_TRANSMITION_DONE
Definition hal_i2c.h:89
@ I2C_EVT_INVALID
Definition hal_i2c.h:95
@ I2C_EVT_RX_READY
Definition hal_i2c.h:83
@ I2C_EVT_TRANSMITION_ABRT
Definition hal_i2c.h:91
@ I2C_EVT_TX_AVAILABLE
Definition hal_i2c.h:85
@ I2C_EVT_TRANSMITION_BUSY
Definition hal_i2c.h:93
@ I2C_EVT_TRANSMITION_START
Definition hal_i2c.h:87
@ I2C_CTRL_MAX
Definition hal_i2c.h:137
@ I2C_CTRL_WRITE_RESTORE
Definition hal_i2c.h:108
@ I2C_CTRL_GET_WRITE_NUM
Definition hal_i2c.h:114
@ I2C_CTRL_READ_PREPARE
Definition hal_i2c.h:110
@ I2C_CTRL_CHECK_TRANSMIT_ABRT
Definition hal_i2c.h:131
@ I2C_CTRL_FLUSH_RX_FIFO
Definition hal_i2c.h:122
@ I2C_CTRL_READ_RESTORE
Definition hal_i2c.h:112
@ I2C_CTRL_CHECK_TX_FIFO_EMPTY
Definition hal_i2c.h:135
@ I2C_CTRL_CHECK_TX_PROCESS_DONE
Definition hal_i2c.h:124
@ I2C_CTRL_CHECK_RX_PROCESS_DONE
Definition hal_i2c.h:126
@ I2C_CTRL_WRITE_PREPARE
Definition hal_i2c.h:106
@ I2C_CTRL_GET_READ_NUM
Definition hal_i2c.h:116
@ I2C_CTRL_CHECK_RESTART_READY
Definition hal_i2c.h:128
@ I2C_CTRL_CHECK_TX_AVAILABLE
Definition hal_i2c.h:118
@ I2C_CTRL_CHECK_RX_AVAILABLE
Definition hal_i2c.h:120
@ I2C_CTRL_NORMAL_MAX
Definition hal_i2c.h:130
@ I2C_CTRL_GET_DMA_DATA_ADDR
Definition hal_i2c.h:133
@ I2C_CTRL_ID_INVALID
Definition hal_i2c.h:138
@ I2C_DATA_OPERATION_TYPE_INT
Definition hal_i2c.h:66
@ I2C_DATA_OPERATION_TYPE_POLL
Definition hal_i2c.h:64
@ I2C_DATA_OPERATION_TYPE_INVLAID
Definition hal_i2c.h:70
@ I2C_DATA_OPERATION_TYPE_DMA
Definition hal_i2c.h:68
I2C缓存数据封装数据结构定义。
Definition hal_i2c.h:165
uint8_t reserved[2]
Definition hal_i2c.h:174
uint8_t restart_flag
Definition hal_i2c.h:172
uint32_t len
Definition hal_i2c.h:168
uint8_t stop_flag
Definition hal_i2c.h:170
uint8_t * buffer
Definition hal_i2c.h:166
I2C准备收发的参数数据结构定义。
Definition hal_i2c.h:148
uint8_t operation_type
Definition hal_i2c.h:149
uint32_t total_len
Definition hal_i2c.h:154
uint16_t addr
Definition hal_i2c.h:152
uint8_t reserved
Definition hal_i2c.h:151
unsigned int uintptr_t
Definition td_type.h:65
Definition hal_uart_v151_regs_def.h:38