luat_soc_sdk_2024 V1.0
I2C接口

函数

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)
 

详细描述

函数说明

◆ luat_i2c_close()

int luat_i2c_close ( int id)

关闭 i2c

参数
idi2c_id
返回
0成功 其他失败

◆ luat_i2c_exist()

int luat_i2c_exist ( int id)

检查i2c是否存在

参数
idi2c_id
返回
1存在 0不存在

◆ luat_i2c_no_block_transfer()

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 收发数据(异步)

参数
idi2c_id
addr7位设备地址
is_read是否为读写
reg读的寄存器
reg_len寄存器长度
buff如果reg,reg_len 不为NULL,buff 为读的数据保存缓冲区,反之为写的缓冲区
len数据长度
Toms数据长度
CB回调函数
pParam回调函数参数
返回
0成功 其他失败

◆ luat_i2c_read_reg()

int luat_i2c_read_reg ( int id,
int addr,
int reg,
void * buff,
size_t len )

I2C 读寄存器

参数
idi2c_id
addr7位设备地址
reg寄存器地址
buff数据
len数据长度
返回
0成功 其他失败

◆ luat_i2c_recv()

int luat_i2c_recv ( int id,
int addr,
void * buff,
size_t len )

I2C 接受数据

参数
idi2c_id
addr7位设备地址
buff数据buff
len数据长度
返回
0成功 其他失败

◆ luat_i2c_send()

int luat_i2c_send ( int id,
int addr,
void * buff,
size_t len,
uint8_t stop )

I2C 发送数据

参数
idi2c_id
addr7位设备地址
buff数据buff
len数据长度
stop是否发送停止位
返回
0成功 其他失败

◆ luat_i2c_set_iomux()

int luat_i2c_set_iomux ( int id,
uint8_t value )

设置i2c复用

注意
参数
idi2c_id
返回
-1 失败 其他正常

◆ luat_i2c_set_polling_mode()

int luat_i2c_set_polling_mode ( int id,
uint8_t on_off )

◆ luat_i2c_setup()

int luat_i2c_setup ( int id,
int speed )

初始化i2c

参数
idi2c_id
speedi2c 速度
返回
0成功 其他失败

◆ luat_i2c_transfer()

int luat_i2c_transfer ( int id,
int addr,
uint8_t * reg,
size_t reg_len,
uint8_t * buff,
size_t len )

I2C 收发数据

参数
idi2c_id
addr7位设备地址
reg读的寄存器
reg_len寄存器长度
buff如果reg,reg_len 不为NULL,buff 为读的数据保存缓冲区,反之为写的缓冲区
len数据长度
返回
0成功 其他失败

◆ luat_i2c_write_reg()

int luat_i2c_write_reg ( int id,
int addr,
int reg,
void * buff,
size_t len,
uint8_t stop )

I2C 写寄存器

参数
idi2c_id
addr7位设备地址
reg寄存器地址
buff数据
len数据长度
stop是否发送停止位
返回
0成功 其他失败