WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
i2c.h
浏览该文件的文档.
1
9#ifndef I2C_H
10#define I2C_H
11
12#include <stdint.h>
13#include "common_def.h"
14#include "errcode.h"
15#include "hal_i2c.h"
16#include "i2c_porting.h"
17
18#ifdef __cplusplus
19#if __cplusplus
20extern "C" {
21#endif /* __cplusplus */
22#endif /* __cplusplus */
23
37typedef struct i2c_data {
38 uint8_t *send_buf;
40 uint32_t send_len;
42 uint8_t *receive_buf;
44 uint32_t receive_len;
47
61
62#if defined(CONFIG_I2C_SUPPORT_MASTER) && (CONFIG_I2C_SUPPORT_MASTER == 1)
87errcode_t uapi_i2c_master_init(i2c_bus_t bus, uint32_t baudrate, uint8_t hscode);
88
129
169errcode_t uapi_i2c_master_read(i2c_bus_t bus, uint16_t dev_addr, i2c_data_t *data);
170
211#endif /* CONFIG_I2C_SUPPORT_MASTER */
212
213#if defined(CONFIG_I2C_SUPPORT_SLAVE) && (CONFIG_I2C_SUPPORT_SLAVE == 1)
239errcode_t uapi_i2c_slave_init(i2c_bus_t bus, uint32_t baudrate, uint16_t addr);
240
279
318#endif /* CONFIG_I2C_SUPPORT_SLAVE */
319
320#if defined(CONFIG_I2C_SUPPORT_INT) && (CONFIG_I2C_SUPPORT_INT == 1)
337
351
368typedef void (*i2c_irq_callback_t)(i2c_bus_t bus, uint8_t event);
385
400
401#endif /* CONFIG_I2C_SUPPORT_INT */
402
403#if defined(CONFIG_I2C_SUPPORT_DMA) && (CONFIG_I2C_SUPPORT_DMA == 1)
420#endif /* CONFIG_I2C_SUPPORT_DMA */
421
436
458errcode_t uapi_i2c_set_baudrate(i2c_bus_t bus, uint32_t baudrate);
459
460#if defined(CONFIG_I2C_SUPPORT_LPM)
474errcode_t uapi_i2c_suspend(uintptr_t arg);
475
489errcode_t uapi_i2c_resume(uintptr_t arg);
490#endif
491
496#ifdef __cplusplus
497#if __cplusplus
498}
499#endif /* __cplusplus */
500#endif /* __cplusplus */
501
502#endif
i2c_bus_t
I2C bus.
Definition platform_core.h:212
uint32_t errcode_t
Definition of error code.
Definition errcode.h:30
errcode_t uapi_i2c_register_irq_callback(i2c_bus_t bus, i2c_irq_callback_t callback)
注册I2C中断事件回调函数。
Definition i2c.c:827
struct i2c_wait_condition i2c_wait_condition_t
I2C发送/接收等待条件数据结构定义。
errcode_t uapi_i2c_master_init(i2c_bus_t bus, uint32_t baudrate, uint8_t hscode)
根据指定的参数初始化该I2C为主机。
Definition i2c.c:956
errcode_t uapi_i2c_set_dma_mode(i2c_bus_t bus, bool en)
使能/去使能DMA模式下I2C传输。
Definition i2c.c:863
errcode_t uapi_i2c_deinit(i2c_bus_t bus)
去初始化I2C,支持主从机。
Definition i2c.c:1258
void(* i2c_irq_callback_t)(i2c_bus_t bus, uint8_t event)
i2c中断事件的回调函数,通过 uapi_i2c_register_irq_callback 注册到驱动中。
Definition i2c.h:368
errcode_t uapi_i2c_master_write(i2c_bus_t bus, uint16_t dev_addr, i2c_data_t *data)
将数据从主机写入到从机。有两种方式,一种是手动切换模式,另外一种是自动切换模式,两种方式是静态配置的。 手动切换方式一共有以下三种传输模式,但是不能在同一bus中同时使用。
Definition i2c.c:998
struct i2c_data i2c_data_t
I2C发送/接收数据结构定义。
errcode_t uapi_i2c_master_read(i2c_bus_t bus, uint16_t dev_addr, i2c_data_t *data)
主机接收来自目标I2C从机的数据。有两种方式,一种是手动切换模式,另外一种是自动切换模式,两种方式是静态配置的。 手动切换方式一共有以下三种传输模式,但是不能在同一bus中同时使用。
Definition i2c.c:1046
errcode_t uapi_i2c_slave_init(i2c_bus_t bus, uint32_t baudrate, uint16_t addr)
根据指定的参数初始化该I2C为从机。
Definition i2c.c:1132
errcode_t uapi_i2c_unregister_irq_callback(i2c_bus_t bus)
取消注册I2C中断事件回调函数。
Definition i2c.c:833
errcode_t uapi_i2c_set_irq_mode(i2c_bus_t bus, bool irq_en)
设置是否使用中断模式传输数据。
Definition i2c.c:813
errcode_t uapi_i2c_slave_write(i2c_bus_t bus, i2c_data_t *data)
从机将数据发送给主机。有两种方式,一种是手动切换模式,另外一种是自动切换模式,两种方式是静态配置的。 手动切换方式一共有以下三种传输模式,但是不能在同一bus中同时使用。
Definition i2c.c:1166
errcode_t uapi_i2c_slave_read(i2c_bus_t bus, i2c_data_t *data)
从机从主机读取数据。有两种方式,一种是手动切换模式,另外一种是自动切换模式,两种方式是静态配置的。 手动切换方式一共有以下三种传输模式,但是不能在同一bus中同时使用。
Definition i2c.c:1213
errcode_t uapi_i2c_master_writeread(i2c_bus_t bus, uint16_t dev_addr, i2c_data_t *data)
主机发送数据到目标I2C从机,并接收来自此从机的数据。有两种方式,一种是手动切换模式,另外一种是自动切换模式,两种方式是静态配置的。 手动切换方式一共有以下三种传输模式,但是不能在同一bus中同时使用。
Definition i2c.c:1099
errcode_t uapi_i2c_set_baudrate(i2c_bus_t bus, uint32_t baudrate)
对已初始化的I2C重置波特率,支持主从机。
Definition i2c.c:1282
i2c_irq_event_t
I2C中断事件枚举。
Definition i2c.h:345
@ I2C_IRQ_EVT_RX_DONE
Definition i2c.h:346
@ I2C_IRQ_EVT_TX_DONE
Definition i2c.h:347
@ I2C_IRQ_EVT_I2C_BUSY
Definition i2c.h:348
@ I2C_IRQ_EVT_I2C_ERR
Definition i2c.h:349
I2C发送/接收数据结构定义。
Definition i2c.h:37
uint8_t * receive_buf
Definition i2c.h:42
uint8_t * send_buf
Definition i2c.h:38
uint32_t send_len
Definition i2c.h:40
uint32_t receive_len
Definition i2c.h:44
I2C发送/接收等待条件数据结构定义。
Definition i2c.h:55
uint32_t evt_mask
Definition i2c.h:56
uint32_t ctrl_mask
Definition i2c.h:58
unsigned int uintptr_t
Definition td_type.h:65
Definition hal_uart_v151_regs_def.h:38