10.6.1. 函数列表¶
10.6.1.1. Function gx_gpio_i2c_init¶
-
int gx_gpio_i2c_init(unsigned char bus_id, unsigned int scl_port, unsigned int sda_port)¶
初始化gpio i2c master
- 参数
bus_id -- i2c总线id
scl_port -- scl线对应的gpio
sda_port -- sda线对应的gpio
- Returns 0
成功
- Returns -1
失败
10.6.1.2. Function gx_i2c_async_read¶
-
int gx_i2c_async_read(unsigned char bus_id, unsigned char slv_addr, unsigned char *buf, unsigned char address_width, unsigned char *rx_data, unsigned short len, gx_i2c_async_done_cb_t callback, void *private)¶
i2c异步读取数据
- 参数
bus_id -- i2c总线id
slv_addr -- i2c slave地址
buf -- 寄存器地址数据
address_width -- 寄存器地址长度
rx_data -- 读取数据
len -- 读取数据长度
callback -- 完成时回调函数, 详细说明请参考 gx_i2c_async_done_cb_t
private -- 回调函数参数
- Returns 0
成功
- Returns -1
失败
10.6.1.3. Function gx_i2c_async_rx¶
-
int gx_i2c_async_rx(unsigned char bus_id, unsigned char slv_addr, unsigned int reg_address, unsigned char address_width, unsigned char *rx_data, unsigned short len, gx_i2c_async_done_cb_t callback, void *private)¶
i2c异步读取数据
- 参数
bus_id -- i2c总线id
slv_addr -- i2c slave地址
reg_address -- i2c slave寄存器地址
address_width -- i2c slave寄存器地址宽度
rx_data -- 读取的数据
len -- 读取数据长度
callback -- 完成时回调函数, 详细说明请参考 gx_i2c_async_done_cb_t
private -- 回调函数参数
- Returns 0
成功
- Returns -1
失败
10.6.1.4. Function gx_i2c_async_tx¶
-
int gx_i2c_async_tx(unsigned char bus_id, unsigned char slv_addr, unsigned int reg_address, unsigned char address_width, unsigned char *tx_data, unsigned short len, gx_i2c_async_done_cb_t callback, void *private)¶
i2c异步发送数据
- 参数
bus_id -- i2c总线id
slv_addr -- i2c slave地址
reg_address -- i2c slave寄存器地址
address_width -- i2c slave寄存器地址宽度
tx_data -- 需要发送的数据
len -- 发送数据长度
callback -- 完成时回调函数, 详细说明请参考 gx_i2c_async_done_cb_t
private -- 回调函数参数
- Returns 0
成功
- Returns -1
失败
10.6.1.5. Function gx_i2c_async_write¶
-
int gx_i2c_async_write(unsigned char bus_id, unsigned char slv_addr, unsigned char *buf, unsigned short len, gx_i2c_async_done_cb_t callback, void *private)¶
i2c异步发送数据
- 参数
bus_id -- i2c总线id
slv_addr -- i2c slave地址
buf -- 需要发送的数据
len -- 发送数据长度
callback -- 完成时回调函数, 详细说明请参考 gx_i2c_async_done_cb_t
private -- 回调函数参数
- Returns 0
成功
- Returns -1
失败
10.6.1.6. Function gx_i2c_close¶
-
int gx_i2c_close(void *dev)¶
关闭i2c master
- 参数
dev -- i2c master句柄
- Returns 0
成功
- Returns -1
失败
10.6.1.7. Function gx_i2c_exit¶
-
int gx_i2c_exit(unsigned char bus_id)¶
关闭i2c模块时钟
- 参数
bus_id -- i2c总线id
- Returns 0
成功
- Returns -1
失败
10.6.1.8. Function gx_i2c_init¶
-
void *gx_i2c_init(unsigned char bus_id)¶
打开i2c模块时钟
- 参数
bus_id -- i2c总线id
- Returns NULL
失败
- Returns OTHER
成功
10.6.1.9. Function gx_i2c_open¶
-
void *gx_i2c_open(unsigned char bus_id)¶
打开i2c master
- 参数
bus_id -- i2c总线id
- Returns NULL
失败
- Returns OTHER
成功
10.6.1.10. Function gx_i2c_read¶
-
int gx_i2c_read(unsigned char bus_id, unsigned char slv_addr, unsigned char *buf, unsigned char address_width, unsigned char *rx_data, unsigned short len)¶
i2c读取数据
- 参数
bus_id -- i2c总线id
slv_addr -- i2c slave地址
buf -- 寄存器地址数据
address_width -- 寄存器地址长度
rx_data -- 读取数据
len -- 读取数据长度
- Returns 0
成功
- Returns -1
失败
10.6.1.11. Function gx_i2c_resume¶
-
int gx_i2c_resume(unsigned char bus_id)¶
i2c模块退出低功耗
- 参数
bus_id -- i2c总线id
- Returns 0
成功
- Returns -1
失败
10.6.1.12. Function gx_i2c_rx¶
-
int gx_i2c_rx(unsigned char bus_id, unsigned char slv_addr, unsigned int reg_address, unsigned char address_width, unsigned char *rx_data, unsigned short len)¶
i2c读取数据
- 参数
bus_id -- i2c总线id
slv_addr -- i2c slave地址
reg_address -- i2c slave寄存器地址
address_width -- i2c slave寄存器地址宽度
rx_data -- 读取的数据
len -- 读取数据长度
- Returns 0
成功
- Returns -1
失败
10.6.1.13. Function gx_i2c_set_speed¶
-
int gx_i2c_set_speed(unsigned char bus_id, unsigned int speed)¶
获取i2c master句柄
- 参数
bus_id -- i2c总线id
speed -- i2c总线速度
- Returns 0
成功
- Returns -1
失败
10.6.1.14. Function gx_i2c_slave_async_rx¶
-
int gx_i2c_slave_async_rx(void *dev, unsigned char *buf, unsigned int size)¶
i2c slave异步接收数据
- 参数
dev -- i2c slave句柄
buf -- 接收buf
size -- 接收数据大小
- Returns 0
成功
- Returns -1
失败
10.6.1.15. Function gx_i2c_slave_async_tx¶
-
int gx_i2c_slave_async_tx(void *dev, unsigned char *buf, unsigned int size)¶
i2c slave异步发送数据
- 参数
dev -- i2c slave句柄
buf -- 发送buf
size -- 发送数据大小
- Returns 0
成功
- Returns -1
失败
10.6.1.16. Function gx_i2c_slave_close¶
-
int gx_i2c_slave_close(void *dev)¶
关闭i2c slave
- 参数
dev -- i2c slave句柄
- Returns 0
成功
- Returns -1
失败
10.6.1.17. Function gx_i2c_slave_enable_fast_dma_tx¶
-
int gx_i2c_slave_enable_fast_dma_tx(unsigned char bus_id)¶
使能 i2c_slave DMA 快速发送,用于与没有时钟延展的主机通信
- 参数
dev -- i2c slave句柄
buf -- 接收buf
size -- 接收数据大小
- Returns 0
成功
- Returns -1
失败
10.6.1.18. Function gx_i2c_slave_open¶
-
void *gx_i2c_slave_open(unsigned char bus_id, unsigned char slv_addr, gx_i2c_slave_cb_t callback, void *private)¶
打开i2c slave
- 参数
bus_id -- i2c总线id
slv_addr -- i2c slave地址
callback -- i2c slave回调函数, 详细说明请参考 gx_i2c_slave_cb_t
private -- 回调函数私有参数
- Returns NULL
失败
- Returns OTHER
成功
10.6.1.19. Function gx_i2c_suspend¶
-
int gx_i2c_suspend(unsigned char bus_id)¶
i2c模块进入低功耗
- 参数
bus_id -- i2c总线id
- Returns 0
成功
- Returns -1
失败
10.6.1.20. Function gx_i2c_transfer¶
-
int gx_i2c_transfer(void *dev, GX_I2C_MSG *msgs, int num)¶
处理i2c消息
- 参数
dev -- i2c master句柄
msgs -- 需要发送的消息, 详细说明请参考 GX_I2C_MSG
num -- 消息数量
- Returns 0
成功
- Returns -1
失败
10.6.1.21. Function gx_i2c_tx¶
-
int gx_i2c_tx(unsigned char bus_id, unsigned char slv_addr, unsigned int reg_address, unsigned char address_width, unsigned char *tx_data, unsigned short len)¶
i2c发送数据
- 参数
bus_id -- i2c总线id
slv_addr -- i2c slave地址
reg_address -- i2c slave寄存器地址
address_width -- i2c slave寄存器地址宽度
tx_data -- 需要发送的数据
len -- 发送数据长度
- Returns 0
成功
- Returns -1
失败