WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
hal_i2c_v150_comm.h
浏览该文件的文档.
1
10#ifndef HAL_I2C_V150_COMM_H
11#define HAL_I2C_V150_COMM_H
12
13#include <stdint.h>
14#include "common_def.h"
15#include "soc_osal.h"
16#include "hal_i2c.h"
18
19#ifdef __cplusplus
20#if __cplusplus
21extern "C" {
22#endif /* __cplusplus */
23#endif /* __cplusplus */
24
31#define I2C_TRUE 1
32#define I2C_FALSE 0
33
34#define I2C_V150_DEFAULT_WRITE_NUM 0xFFFFFFFF
35#define I2C_V150_DEFAULT_READ_NUM 0xFFFFFFFF
36
37#define I2C_CFG_SCL_H_DEFAULT_VAL 1
38#define I2C_CFG_SCL_L_DEFAULT_VAL 1
39
55
70
85
98
106typedef struct hal_i2c_ctrl_info {
107 uint8_t init;
108 uint8_t cfg_scl_h;
109 uint8_t cfg_scl_l;
110 uint8_t work_type;
111 uint32_t timeout_us;
112 uint32_t baudrate;
113 uint8_t *ext;
115
132
143errcode_t hal_i2c_v150_send_byte(i2c_bus_t bus, uint8_t data, uint8_t should_start);
144errcode_t hal_i2c_v150_receive_byte(i2c_bus_t bus, uint8_t *data, uint32_t remain_len);
148void hal_i2c_v150_cfg_clk(i2c_bus_t bus, uint32_t baudrate, uint8_t scl_h, uint8_t scl_l);
152
157#ifdef __cplusplus
158#if __cplusplus
159}
160#endif /* __cplusplus */
161#endif /* __cplusplus */
162
163#endif
164
i2c_bus_t
I2C bus.
Definition platform_core.h:212
uint32_t errcode_t
Definition of error code.
Definition errcode.h:30
enum hal_i2c_ctrl_id hal_i2c_ctrl_id_t
I2C控制ID定义。
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
errcode_t hal_i2c_v150_ctrl(i2c_bus_t bus, hal_i2c_ctrl_id_t id, uintptr_t param)
Definition hal_i2c_v150_comm.c:372
struct hal_i2c_trans_info hal_i2c_trans_info_t
HAL层I2C的传输信息数据结构定义
errcode_t hal_i2c_v150_get_read_num(i2c_bus_t bus, uintptr_t param)
Definition hal_i2c_v150_comm.c:121
errcode_t hal_i2c_v150_receive_byte(i2c_bus_t bus, uint8_t *data, uint32_t remain_len)
Definition hal_i2c_v150_comm.c:199
void hal_i2c_v150_cfg_clk(i2c_bus_t bus, uint32_t baudrate, uint8_t scl_h, uint8_t scl_l)
Definition hal_i2c_v150_comm.c:343
enum hal_i2c_addr_width hal_i2c_addr_width_t
I2C地址位宽定义
errcode_t hal_i2c_v150_ctrl_proc_default(i2c_bus_t bus, uintptr_t param)
Definition hal_i2c_v150_comm.c:101
hal_i2c_work_type
I2C工作模式定义
Definition hal_i2c_v150_comm.h:63
errcode_t hal_i2c_v150_get_write_num(i2c_bus_t bus, uintptr_t param)
Definition hal_i2c_v150_comm.c:109
enum hal_i2c_work_type hal_i2c_work_type_t
I2C工作模式定义
void hal_i2c_v150_register_callback(hal_i2c_callback_t callback)
Definition hal_i2c_v150_comm.c:73
errcode_t hal_i2c_v150_deinit(i2c_bus_t bus)
Definition hal_i2c_v150_comm.c:324
hal_i2c_ctrl_info_t * hal_i2c_v150_get_ctrl_info(i2c_bus_t bus)
Definition hal_i2c_v150_comm.c:55
errcode_t(* hal_i2c_inner_ctrl_t)(i2c_bus_t bus, uintptr_t param)
HAL层I2C控制接口。
Definition hal_i2c_v150_comm.h:131
hal_i2c_trans_mode
I2C读写模式定义
Definition hal_i2c_v150_comm.h:47
void hal_i2c_v150_init_comp_param(i2c_bus_t bus)
Definition hal_i2c_v150_comm.c:359
void hal_i2c_v150_irq_handler(i2c_bus_t bus)
Definition hal_i2c_v150_comm.c:384
void hal_i2c_v150_unload_ctrl_func(i2c_bus_t bus)
Definition hal_i2c_v150_comm.c:67
errcode_t hal_i2c_v150_send_byte(i2c_bus_t bus, uint8_t data, uint8_t should_start)
Definition hal_i2c_v150_comm.c:177
struct hal_i2c_ctrl_info hal_i2c_ctrl_info_t
HAL层I2C的控制信息数据结构定义
errcode_t hal_i2c_v150_ctrl_check_default(i2c_bus_t bus, uintptr_t param)
Definition hal_i2c_v150_comm.c:85
errcode_t hal_i2c_v150_write(i2c_bus_t bus, hal_i2c_buffer_wrap_t *data)
Definition hal_i2c_v150_comm.c:245
hal_i2c_addr_width
I2C地址位宽定义
Definition hal_i2c_v150_comm.h:78
hal_i2c_trans_info_t * hal_i2c_v150_get_trans_info(i2c_bus_t bus)
Definition hal_i2c_v150_comm.c:79
enum hal_i2c_trans_mode hal_i2c_trans_mode_t
I2C读写模式定义
errcode_t hal_i2c_v150_ctrl_check_default_false(i2c_bus_t bus, uintptr_t param)
Definition hal_i2c_v150_comm.c:93
void hal_i2c_v150_load_ctrl_func(i2c_bus_t bus, hal_i2c_inner_ctrl_t *func_table)
Definition hal_i2c_v150_comm.c:61
errcode_t hal_i2c_v150_read(i2c_bus_t bus, hal_i2c_buffer_wrap_t *data)
Definition hal_i2c_v150_comm.c:287
@ I2C_WORK_TYPE_INT_NOFIFO
Definition hal_i2c_v150_comm.h:66
@ I2C_WORK_TYPE_MAX_NUM
Definition hal_i2c_v150_comm.h:68
@ I2C_WORK_TYPE_INT_FIFO
Definition hal_i2c_v150_comm.h:67
@ I2C_WORK_TYPE_POLL_NOFIFO
Definition hal_i2c_v150_comm.h:64
@ I2C_WORK_TYPE_POLL_FIFO
Definition hal_i2c_v150_comm.h:65
@ I2C_TRANS_TYPE_MAX_NUM
Definition hal_i2c_v150_comm.h:53
@ I2C_TRANS_MODE_INVALID
Definition hal_i2c_v150_comm.h:48
@ I2C_TRANS_MODE_READ
Definition hal_i2c_v150_comm.h:50
@ I2C_TRANS_MODE_WRITE
Definition hal_i2c_v150_comm.h:49
@ I2C_TRANS_MODE_WRITE_BEFORE_READ
Definition hal_i2c_v150_comm.h:51
@ I2C_TRANS_MODE_STOP_AFTER_WRITE
Definition hal_i2c_v150_comm.h:52
@ I2C_INVALID_BITS_ADDR
Definition hal_i2c_v150_comm.h:83
@ I2C_7_BITS_ADDR
Definition hal_i2c_v150_comm.h:79
@ I2C_10_BITS_ADDR
Definition hal_i2c_v150_comm.h:81
I2C缓存数据封装数据结构定义。
Definition hal_i2c.h:165
HAL层I2C的控制信息数据结构定义
Definition hal_i2c_v150_comm.h:106
uint32_t baudrate
Definition hal_i2c_v150_comm.h:112
uint8_t work_type
Definition hal_i2c_v150_comm.h:110
uint32_t timeout_us
Definition hal_i2c_v150_comm.h:111
uint8_t * ext
Definition hal_i2c_v150_comm.h:113
uint8_t init
Definition hal_i2c_v150_comm.h:107
uint8_t cfg_scl_h
Definition hal_i2c_v150_comm.h:108
uint8_t cfg_scl_l
Definition hal_i2c_v150_comm.h:109
HAL层I2C的传输信息数据结构定义
Definition hal_i2c_v150_comm.h:93
uint32_t total_len
Definition hal_i2c_v150_comm.h:96
uint8_t trans_mode
Definition hal_i2c_v150_comm.h:94
uint32_t trans_cnt
Definition hal_i2c_v150_comm.h:95
unsigned int uintptr_t
Definition td_type.h:65
Definition hal_uart_v151_regs_def.h:38