I2C-Tools的安装与使用方法(详解,一篇教会你熟练使用)

1.前言:

i2c-tools是一个开源的I2C总线工具集,它包括了用于访问和操作I2C设备的各种命令行工具。这些工具可以帮助用户读取和写入I2C设备的数据,检测和诊断I2C总线的问题等。

2.各系统的安装:

接下里会展示在不同操作系统中如何使用命令行指令来下载安装i2c-tools

2.1 .在Ubuntu系统上安装:

在Ubuntu系统上,可以使用apt-get命令来安装i2c-tools:

复制代码
sudo apt-get update
sudo apt-get install i2c-tools

2.2. 在CentOS系统上安装:

在CentOS系统上,可以使用yum命令来安装i2c-tools:

复制代码
sudo yum install i2c-tools

2.3. 在macOS系统上安装:

在macOS系统上,可以使用Homebrew来安装i2c-tools:

复制代码
brew install i2c-tools

3 .使用方法:

ps:如果当运行命令行指令以后,系统报告说权限不够则切换成root用户、或者前面加sudo来解决问题就好。

3.1 .查看I2C总线:

使用i2cdetect命令可以查看当前系统中所有的I2C总线,格式如下。这里的数字1,代表i2c总线号1。具体有多少条总线就要看所使用的设备而定。

复制代码
i2cdetect -l

3.2 扫描I2C设备:

使用i2cdetect命令可以扫描指定I2C总线上的所有设备:(同样的这里的数字1,也是代表的对应的总线号),效果如下。可以看见在0x42的位置上显示的uu,代表设备挂载在此位置。

复制代码
sudo i2cdetect -y 1

3.3 读取I2C设备数据:

使用i2cget命令可以读取指定I2C设备的指定寄存器的数据,其中,1表示I2C总线号,0x68表示I2C设备的地址,0x00表示要读取的寄存器的地址,w表示以十六进制形式输出结果。

复制代码
sudo i2cget -y 1 0x68 0x00 w

此外如果想一次性读取所有挂载在当前总线号上的寄存器数据,可以用i2cdump指令来读取。其中,1代表i2c总线号,0x6b代表i2c设备的地址。

复制代码
sudo i2cdump -y -f 1 0x6b

3.4 写入I2C设备数据:

使用i2cset命令可以向指定I2C设备的指定寄存器写入数据。其中,1表示I2C总线号,0x68表示I2C设备的地址,0x00表示要写入数据的寄存器的地址,0x0a表示要写入的数据。

复制代码
sudo i2cset -y 1 0x68 0x00 0x0a

4.总结:

本章节详细介绍了i2c-tools的使用方法,在嵌入式开发中,如果需要使用到i2c协议的话。这将会极大程度上帮助开发者监测设备的数据与位置。快速完成对i2c设备的访问和控制。

相关推荐
wVelpro18 分钟前
如何在Pycharm 2025.3 版本实现虚拟环境“Make available to all projects”
linux·ide·pycharm
上海合宙LuatOS18 分钟前
LuatOS核心库API——【audio 】
java·网络·单片机·嵌入式硬件·物联网·音视频·硬件工程
程序员老舅1 小时前
C++高并发精髓:无锁队列深度解析
linux·c++·内存管理·c/c++·原子操作·无锁队列
LS_learner1 小时前
Snapd和Apt—Linux 上两种完全不同的软件包管理系统
嵌入式硬件
点灯小铭1 小时前
基于51单片机的双档交流电压表设计与实现
单片机·嵌入式硬件·毕业设计·51单片机·课程设计·期末大作业
雨中风华1 小时前
Linux, macOS系统实现远程目录访问(等同于windows平台xFsRedir软件的目录重定向)
linux·windows·macos
爱吃生蚝的于勒2 小时前
【Linux】进程信号之捕捉(三)
linux·运维·服务器·c语言·数据结构·c++·学习
厦门辰迈智慧科技有限公司2 小时前
全功能数据采集仪mcu主要用途
单片机·嵌入式硬件·水库大坝安全监测·数据采集仪mcu
The森2 小时前
Linux IO 模型纵深解析 01:从 Unix 传统到 Linux 内核的 IO 第一性原理
linux·服务器·c语言·经验分享·笔记·unix