i2ctransfer -f -y 8 w4@0x68 0x32 0x02 0x04 0x1e r5 转换成使用 regmap_read 代码
时间: 2024-02-19 11:58:16 浏览: 76
STC15W4k32S4测试程序.rar_-baijiahao_STC15W 测试_STC15W4K32S4_STC15W4K5
5星 · 资源好评率100%
假设你要读取的寄存器地址是0x1e,设备地址是0x68,总线编号是8,那么使用regmap_read的代码如下:
```
#include <linux/i2c-dev.h>
#include <linux/i2c.h>
#include <linux/regmap.h>
struct i2c_client *client;
struct regmap *regmap;
u8 val;
/* 初始化i2c_client */
client = i2c_new_device(adapter, &info);
/* 初始化regmap */
regmap = devm_regmap_init_i2c(client, ®map_config);
/* 读取寄存器值 */
regmap_read(regmap, 0x1e, &val);
printk(KERN_INFO "Register value: %d\n", val);
```
其中,adapter是指向总线的指针,info包含设备地址和其他信息,regmap_config是用于初始化regmap的配置结构体。
阅读全文