TuyaOS
结构体 | 宏定义 | 函数
tkl_i2c.h 文件参考

Common process - adapter the i2c api 更多...

#include "tuya_cloud_types.h"
#include "tkl_gpio.h"
tkl_i2c.h 的引用(Include)关系图:

浏览源代码.

结构体

struct  REGADDR_WIDTH_T
 ioctl args define 更多...
 

宏定义

#define I2C_IOCTL_SET_REGADDR_WIDTH   1
 ioctl cmd define
 

函数

OPERATE_RET tkl_i2c_deinit (TUYA_I2C_NUM_E port)
 i2c deinit 更多...
 
INT32_T tkl_i2c_get_data_count (TUYA_I2C_NUM_E port)
 i2c transferred data count. 更多...
 
OPERATE_RET tkl_i2c_get_status (TUYA_I2C_NUM_E port, TUYA_IIC_STATUS_T *status)
 IIC get status. 更多...
 
OPERATE_RET tkl_i2c_init (TUYA_I2C_NUM_E port, CONST TUYA_IIC_BASE_CFG_T *cfg)
 i2c init 更多...
 
OPERATE_RET tkl_i2c_ioctl (TUYA_I2C_NUM_E port, UINT32_T cmd, VOID *args)
 i2c ioctl 更多...
 
OPERATE_RET tkl_i2c_irq_disable (TUYA_I2C_NUM_E port)
 i2c irq disable 更多...
 
OPERATE_RET tkl_i2c_irq_enable (TUYA_I2C_NUM_E port)
 i2c irq enable 更多...
 
OPERATE_RET tkl_i2c_irq_init (TUYA_I2C_NUM_E port, TUYA_I2C_IRQ_CB cb)
 i2c irq init NOTE: call this API will not enable interrupt 更多...
 
OPERATE_RET tkl_i2c_master_receive (TUYA_I2C_NUM_E port, UINT16_T dev_addr, VOID *data, UINT32_T size, BOOL_T xfer_pending)
 i2c master recv 更多...
 
OPERATE_RET tkl_i2c_master_send (TUYA_I2C_NUM_E port, UINT16_T dev_addr, CONST VOID_T *data, UINT32_T size, BOOL_T xfer_pending)
 i2c master send 更多...
 
OPERATE_RET tkl_i2c_reset (TUYA_I2C_NUM_E port)
 i2c's reset 更多...
 
OPERATE_RET tkl_i2c_set_slave_addr (TUYA_I2C_NUM_E port, UINT16_T dev_addr)
 i2c slave 更多...
 
OPERATE_RET tkl_i2c_slave_receive (TUYA_I2C_NUM_E port, VOID *data, UINT32_T size)
 IIC slave receive, Start receiving data as IIC Slave. 更多...
 
OPERATE_RET tkl_i2c_slave_send (TUYA_I2C_NUM_E port, CONST VOID *data, UINT32_T size)
 i2c slave send 更多...
 

详细描述

Common process - adapter the i2c api

版本
0.1
日期
2021-08-06

函数说明

◆ tkl_i2c_deinit()

OPERATE_RET tkl_i2c_deinit ( TUYA_I2C_NUM_E  port)

i2c deinit

参数
[in]porti2c port
返回
OPRT_OK on success. Others on error, please refer to tuya_error_code.h

◆ tkl_i2c_get_data_count()

INT32_T tkl_i2c_get_data_count ( TUYA_I2C_NUM_E  port)

i2c transferred data count.

参数
[in]porti2c port id, id index starts at 0
返回
>=0,number of currently transferred data items. <0,err. tkl_i2c_master_send:number of data bytes transmitted and acknowledged tkl_i2c_master_receive:number of data bytes received tkl_i2c_slave_send:number of data bytes transmitted tkl_i2c_slave_receive:number of data bytes received and acknowledged

◆ tkl_i2c_get_status()

OPERATE_RET tkl_i2c_get_status ( TUYA_I2C_NUM_E  port,
TUYA_IIC_STATUS_T status 
)

IIC get status.

参数
[in]porti2c port
[out]TUYA_IIC_STATUS_T
返回
OPRT_OK on success. Others on error, please refer to tuya_error_code.h

◆ tkl_i2c_init()

OPERATE_RET tkl_i2c_init ( TUYA_I2C_NUM_E  port,
CONST TUYA_IIC_BASE_CFG_T cfg 
)

i2c init

参数
[in]porti2c port
[in]cfgi2c config
返回
OPRT_OK on success. Others on error, please refer to tuya_error_code.h

◆ tkl_i2c_ioctl()

OPERATE_RET tkl_i2c_ioctl ( TUYA_I2C_NUM_E  port,
UINT32_T  cmd,
VOID *  args 
)

i2c ioctl

参数
[in]cmduser def
[in]argsargs associated with the command
返回
OPRT_OK on success. Others on error, please refer to tuya_error_code.h

◆ tkl_i2c_irq_disable()

OPERATE_RET tkl_i2c_irq_disable ( TUYA_I2C_NUM_E  port)

i2c irq disable

参数
[in]porti2c port id, id index starts at 0
返回
OPRT_OK on success. Others on error, please refer to tuya_error_code.h

◆ tkl_i2c_irq_enable()

OPERATE_RET tkl_i2c_irq_enable ( TUYA_I2C_NUM_E  port)

i2c irq enable

参数
[in]porti2c port id, id index starts at 0
返回
OPRT_OK on success. Others on error, please refer to tuya_error_code.h

◆ tkl_i2c_irq_init()

OPERATE_RET tkl_i2c_irq_init ( TUYA_I2C_NUM_E  port,
TUYA_I2C_IRQ_CB  cb 
)

i2c irq init NOTE: call this API will not enable interrupt

参数
[in]porti2c port, id index starts at 0
[in]cbi2c irq cb
返回
OPRT_OK on success. Others on error, please refer to tuya_error_code.h

◆ tkl_i2c_master_receive()

OPERATE_RET tkl_i2c_master_receive ( TUYA_I2C_NUM_E  port,
UINT16_T  dev_addr,
VOID *  data,
UINT32_T  size,
BOOL_T  xfer_pending 
)

i2c master recv

参数
[in]porti2c port
[in]dev_addriic addrress of slave device.
[in]datai2c buf to recv
[in]sizeNumber of data items to receive
[in]xfer_pendingTRUE : not send stop condition, FALSE : send stop condition.
返回
OPRT_OK on success. Others on error, please refer to tuya_error_code.h

◆ tkl_i2c_master_send()

OPERATE_RET tkl_i2c_master_send ( TUYA_I2C_NUM_E  port,
UINT16_T  dev_addr,
CONST VOID_T *  data,
UINT32_T  size,
BOOL_T  xfer_pending 
)

i2c master send

参数
[in]porti2c port
[in]dev_addriic addrress of slave device.
[in]datai2c data to send
[in]sizeNumber of data items to send
[in]xfer_pendingxfer_pending: TRUE : not send stop condition, FALSE : send stop condition.
返回
OPRT_OK on success. Others on error, please refer to tuya_error_code.h

◆ tkl_i2c_reset()

OPERATE_RET tkl_i2c_reset ( TUYA_I2C_NUM_E  port)

i2c's reset

参数
[in]porti2c port number
返回
OPRT_OK on success. Others on error, please refer to tuya_error_code.h

◆ tkl_i2c_set_slave_addr()

OPERATE_RET tkl_i2c_set_slave_addr ( TUYA_I2C_NUM_E  port,
UINT16_T  dev_addr 
)

i2c slave

参数
[in]porti2c port
[in]dev_addrslave device addr
返回
OPRT_OK on success. Others on error, please refer to tuya_error_code.h

◆ tkl_i2c_slave_receive()

OPERATE_RET tkl_i2c_slave_receive ( TUYA_I2C_NUM_E  port,
VOID *  data,
UINT32_T  size 
)

IIC slave receive, Start receiving data as IIC Slave.

参数
[in]porti2c port
[in]dataPointer to buffer for data to receive from IIC Master
[in]sizeNumber of data items to receive
返回
OPRT_OK on success. Others on error, please refer to tuya_error_code.h

◆ tkl_i2c_slave_send()

OPERATE_RET tkl_i2c_slave_send ( TUYA_I2C_NUM_E  port,
CONST VOID *  data,
UINT32_T  size 
)

i2c slave send

参数
[in]porti2c port
[in]datai2c buf to send
[in]sizeNumber of data items to send
返回
OPRT_OK on success. Others on error, please refer to tuya_error_code.h