Usage: i2cset [-f] [-y] [-m MASK] [-r] [-a] I2CBUS CHIP-ADDRESS DATA-ADDRESS [VALUE] ... [MODE]
I2CBUS is an integer or an I2C bus name
ADDRESS is an integer (0x03 - 0x77, or 0x00 - 0x7f if -a is given)
MODE is one of:
c (byte, no value)
b (byte data, default)
w (word data)
i (I2C block data)
s (SMBus block data)
Append p for SMBus PEC
f:强制访问
y:指令执行自动yes,否则会提示确认执行Continue? [Y/n] Y,不加参数y会有很多执行提示,可以帮助判断
r:写入后立即回读寄存器的值,并将结果与写入的值进行比较
i2cbus:总线编号
chip-address:i2c设备地址
data-address:i2c寄存器地址
value 要写入的值
mode:指定读取的大小,b字节,w字,s是SMBus块,i是i2c块
设置i2c-1上0x20器件的0x77寄存器值为0x3f
./i2cset -f -y 1 0x20 0x77 0x3f
i2cget:读取i2c设备某个寄存器的值
Usage: i2cget [-f] [-y] [-a] I2CBUS CHIP-ADDRESS [DATA-ADDRESS [MODE]]
I2CBUS is an integer or an I2C bus name
ADDRESS is an integer (0x03 - 0x77, or 0x00 - 0x7f if -a is given)
MODE is one of:
b (read byte data, default)
w (read word data)
c (write byte/read byte)
Append p for SMBus PEC
f:强制访问
y:关闭交互模式,不会提示警告信息
i2cbus:总线编号
chip-address:i2c设备地址
data-address:i2c寄存器地址
mode:指定读取的大小,b字节,w字,s是SMBus块,i是i2c块
读取i2c-1上0x20器件的0x77寄存器值
./i2cget -f -y 1 0x20 0x77
i2cdump:读取某个i2c设备所有寄存器的值
Usage: i2cdump [-f] [-y] [-r first-last] [-a] I2CBUS ADDRESS [MODE [BANK [BANKREG]]]
I2CBUS is an integer or an I2C bus name
ADDRESS is an integer (0x03 - 0x77, or 0x00 - 0x7f if -a is given)
MODE is one of:
b (byte, default)
w (word)
W (word on even register addresses)
s (SMBus block)
i (I2C block)
c (consecutive byte)
Append p for SMBus PEC
r:指定寄存器范围,只能扫描从 first 到 last 区域
f:强制访问设备
y:关闭人机交互模式
i2cbus:总线编号
address:指定设备地址
mode:指定读取的大小,b字节,w字,s是SMBus块,i是i2c块
读取i2c1上0x38器件的所有寄存器
./i2cdump -f -y -a 1 0x38
一般寄存器都是8位地址的,i2cdump、i2cget、i2cset 也是设置读取8位的地址,如果一次超过8位,需要用 i2ctransfer。
i2ctransfer:一次性读写多个字节
Usage: i2ctransfer [-f] [-y] [-v] [-V] [-a] I2CBUS DESC [DATA] [DESC [DATA]]...
I2CBUS is an integer or an I2C bus name
DESC describes the transfer in the form: {r|w}LENGTH[@address]
1) read/write-flag 2) LENGTH (range 0-65535) 3) I2C address (use last one if omitted)
DATA are LENGTH bytes for a write message. They can be shortened by a suffix:
= (keep value constant until LENGTH)
+ (increase value by 1 until LENGTH)
- (decrease value by 1 until LENGTH)
p (use pseudo random generator until LENGTH with value as seed)
查看系统上存在的 i2c 总线及其设备地址
ls /sys/bus/i2c/devices/
可以在这里查看实际的设备,然后对比 i2c-tools 扫描出来的对不对。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
嵌入式
+关注
关注
5096文章
19203浏览量
308381 -
寄存器
+关注
关注
31文章
5377浏览量
121403 -
命令
+关注
关注
5文章
700浏览量
22150
发布评论请先 登录
相关推荐
I2C总线原理详解
I2C两线式串行总线通讯协议,它是由飞利浦开发的,主要用于连接微控制器及其外围设备之间,它是由数据线SDA和信号线SCL构成的,可发送和接收数据即在MUC和I2C设备之间,I2C和I2C
发表于 10-18 17:20
•2537次阅读
![<b class='flag-5'>I2C</b>总线原理<b class='flag-5'>详解</b>](https://file1.elecfans.com/web2/M00/AA/C9/wKgZomUvqHaASyIiAAAgiRdMUF4644.png)
I2C通信详解
救!《【STM32-I2C学习总结】STM32:硬件-IIC详解 , 固件库编程 , 手把手教你实现IIC》这里是我以前写的,硬件实现I2C的一个文章,文章末尾有软件实现I2C的方法,
发表于 02-28 11:24
I2C Guid I2C指南
I2C Guid I2C指南
The I2C bus is used in a wide rangeof applications because it is simpleand
发表于 04-23 13:55
•36次下载
I2C总线详解
I2C总线定义 I2C(Inter-Integrated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。I2C总线产生于在80年代,最初为音频和视频设备开发,如今
发表于 06-30 11:09
•3865次阅读
嵌入式linux应用读写i2c示例
这里分享一个嵌入式linux读写24c02的i2c程序ioctl函数的使用:原型:struct ioctl(struct file *file,unsigned int cmd,unsigned
发表于 11-01 16:57
•12次下载
![嵌入式linux应用读写<b class='flag-5'>i2c</b><b class='flag-5'>示例</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
STM32F103硬件I2C Slave
MCU:STM32F103IDE:STM32CubeIDEHAL库硬件I2C当作Slave,模拟EEPROM行为测试工具:树莓派为I2C主机,使用I2C-tools进行测试配置I2C:
发表于 12-20 19:38
•52次下载
![STM32F103硬件<b class='flag-5'>I2C</b> Slave](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
硬件I2C与模拟I2C
硬件I2C对应芯片上的I2C外设,有相应I2C驱动电路,其所使用的I2C管脚也是专用的,因而效率要远高于软件模拟的I2C;一般也较为稳定,但
发表于 12-28 19:14
•81次下载
![硬件<b class='flag-5'>I2C</b>与模拟<b class='flag-5'>I2C</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
i2c-tools工具的安装和使用简单介绍
i2c-tools工具是一个专门调试i2c的,开源,可获取挂载的设备及设备地址,还可以读写I2C设备寄存器。
i2c-tools工具的介绍
i2c-tools 简介 在嵌入式开发中,有时候需要确认硬件是否正常连接,设备是否正常工作,设备的地址是多少等等,这里我们就需要使用一个用于测试I2C 总线的工具:i2c-tools
I2C总线与Arduino的接口示例
在现代电子设计中,I2C总线因其简单性和灵活性而广受欢迎。它允许多个设备共享同一通信线路,从而节省空间和成本。Arduino,作为一个多功能的微控制器平台,自然也支持I2C通信。 I2C总线
评论