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

失败

10.6.1.22. Function gx_i2c_write


int gx_i2c_write(unsigned char bus_id, unsigned char slv_addr, unsigned char *buf, unsigned short len)

i2c发送数据

参数
  • bus_id -- i2c总线id

  • slv_addr -- i2c slave地址

  • buf -- 需要发送的数据

  • len -- 发送数据长度

Returns 0

成功

Returns -1

失败

10.6.1.23. Function gx_set_i2c_msb_flag


int gx_set_i2c_msb_flag(int flag)

设置i2c msb标志

参数

flag -- 标志,1表示msb,0表示lsb, 一个 从机寄存器地址为 0X12345678,使能,先发送最高有效位,发送顺序为 0x12, 0x34, 0x56, 0x78

Returns 0

成功

Returns -1

失败