luat_soc_sdk_2024 V1.0
luat_i2c.h 文件参考
#include "luat_base.h"

浏览该文件的源代码.

结构体

struct  luat_ei2c
 

宏定义

#define LUAT_EI2C_TYPE   "EI2C*"
 
#define toei2c(L)   ((luat_ei2c_t *)luaL_checkudata(L, 1, LUAT_EI2C_TYPE))
 

类型定义

typedef struct luat_ei2c luat_ei2c_t
 

函数

int luat_i2c_exist (int id)
 检查i2c是否存在
 
int luat_i2c_setup (int id, int speed)
 初始化i2c
 
int luat_i2c_close (int id)
 关闭 i2c
 
int luat_i2c_send (int id, int addr, void *buff, size_t len, uint8_t stop)
 I2C 发送数据
 
int luat_i2c_recv (int id, int addr, void *buff, size_t len)
 I2C 接受数据
 
int luat_i2c_write_reg (int id, int addr, int reg, void *buff, size_t len, uint8_t stop)
 I2C 写寄存器
 
int luat_i2c_read_reg (int id, int addr, int reg, void *buff, size_t len)
 I2C 读寄存器
 
int luat_i2c_transfer (int id, int addr, uint8_t *reg, size_t reg_len, uint8_t *buff, size_t len)
 I2C 收发数据
 
int luat_i2c_no_block_transfer (int id, int addr, uint8_t is_read, uint8_t *reg, size_t reg_len, uint8_t *buff, size_t len, uint16_t Toms, void *CB, void *pParam)
 I2C 收发数据(异步)
 
int luat_i2c_set_iomux (int id, uint8_t value)
 设置i2c复用
 
int luat_i2c_set_polling_mode (int id, uint8_t on_off)
 
void i2c_soft_start (luat_ei2c_t *ei2c)
 
char i2c_soft_recv (luat_ei2c_t *ei2c, unsigned char addr, char *buff, size_t len)
 
char i2c_soft_send (luat_ei2c_t *ei2c, unsigned char addr, char *data, size_t len, uint8_t stop)
 

宏定义说明

◆ LUAT_EI2C_TYPE

#define LUAT_EI2C_TYPE   "EI2C*"

在文件 luat_i2c.h124 行定义.

◆ toei2c

#define toei2c ( L)    ((luat_ei2c_t *)luaL_checkudata(L, 1, LUAT_EI2C_TYPE))

在文件 luat_i2c.h137 行定义.

类型定义说明

◆ luat_ei2c_t

typedef struct luat_ei2c luat_ei2c_t

函数说明

◆ i2c_soft_recv()

char i2c_soft_recv ( luat_ei2c_t * ei2c,
unsigned char addr,
char * buff,
size_t len )

◆ i2c_soft_send()

char i2c_soft_send ( luat_ei2c_t * ei2c,
unsigned char addr,
char * data,
size_t len,
uint8_t stop )

◆ i2c_soft_start()

void i2c_soft_start ( luat_ei2c_t * ei2c)