i2cset -y 3 0x1E 0x00 0x3 b i2cset -y 总线序号 设备地址 寄存器地址 数值 模式 MODE:支持b字节、w双字节、i为数据块 console:/ # i2cset --help Toybox 0.8.4-android multicall binary: https://landley.net/toybox (see toybox --help) usage: i2cset [-fy] BUS CHIP ADDR VALUE... MODE...
i2cget和i2cset可以读写的i2c设备的寄存器地址小于0xff,即寄存器是8位地址。 如果i2c设备寄存器是16位地址,可使用i2ctransfer命令,该命令同样可用在寄存器地址是8位的设备。 1、命令 "Usage: i2ctransfer [-f] [-y] [-v] [-V] [-a] I2CBUS DESC [DATA] [DESC [DATA]]...\n" " I2CBUS is an int...
输入./i2cget -f -y 0 0x49 0x00,表示读取/dev/i2c-0总线上0x49设备地址下的0x00寄存器的值 4. i2cset命令:写某个寄存器的值,寄存器地址只能是8-bit 输入./i2cset -f -y 0 0x49 0x00,表示写入/dev/i2c-0总线上0x49设备地址下的0x...
`,其中``是I2C总线的编号,` `是I2C设备的地址,``是要写入的寄存器地址,``是要写入的数据值。例如,运行命令`i2cset -y 1 0x50 0x00 0x0A`来向地址为0x50的I2C设备的寄存器0x00中写入数据0x0A。 4. i2cdump:该命令可以用来以十六进制格式显示指定I2C设备的寄存器数据。 操作流程: a. 打开终端。 b. 运...
i2cset -y i2c-bus device-address register-address value “` 其中,i2c-bus是指i2c总线的编号,可以使用`i2cdetect`命令查看;device-address是i2c设备的地址;register-address是要写入数据的寄存器地址;value是要写入的数据。 4. i2cdetect:该命令用于检测当前系统中的i2c设备地址。使用方法如下: ...
一、i2c_set_clientdata函数 在probe方式的I2C驱动中的probe函数中经常出现i2c_set_clientdata函数,一直很不解这个函数什么意思,后来查看内核源码,发现了一点大家都知道的秘密。 这是某个I2C设备驱动中的probe函数,选取了部分代码: struct i2c_mydev //struct i2c_mydev是自定义的设备结构 ...
i2cset的主要功能是通过I2C总线设置设备中某寄存器的值。该命令的常用格式为: i2cset [-f] [-y] [-m mask] [-r] i2cbus chip-address data-address [value] …[mode] 具体参数的含义如下: -f 强制访问设备,即使它已经很忙。 默认情况下,i2cget将拒绝访问已经在内核驱动程序控制下的设备。 -...
valueN// 跟`I2C Block Write`相比, 需要发送长度 N// I2CBUS 为 0、1、2 等整数, 表示 I2C Bus; CHIP-ADDRESS 表示设备地址// DATA-ADDRESS: 8 位芯片寄存器地址;// VALUE1~N: N 个 8 位数值// MODE: si2cset -f -y I2CBUS CHIP-ADDRESS DATA-ADDRESS VALUE1 ... VALUEN s// I2C Block...
I2C-tools支持对8位和16位[1]的寄存器地址进行访问。如果是8位的话可以直接用i2cget, i2cset即可。
然后make编译。会在tools/下生成i2cdetect, i2cdump, i2cget, i2cset。 2.i2cdetect 2.1 用i2cdetect检测有几组i2c总线在系统上,输入:i2cdetect -l 可以看出系统中目前正在使用的i2c总线是i2c-1和i2c-4。 2.2用i2cdetect检测挂载在i2c总线上器件,输入 i2cdetect -r -y 1(检测i2c-1上的挂载情况) ...