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设备的访问和控制。

相关推荐
筏.k16 分钟前
grep、wc 与管道符快速上手指南
linux
Johny_Zhao20 分钟前
华为MAAS、阿里云PAI、亚马逊AWS SageMaker、微软Azure ML各大模型深度分析对比
linux·人工智能·ai·信息安全·云计算·系统运维
CodeOfCC29 分钟前
c语言 封装跨平台线程头文件
linux·c语言·windows
广药门徒29 分钟前
定时器时钟来源可以从输入捕获引脚输入
单片机·嵌入式硬件
科文小白狼31 分钟前
Linux下VSCode开发环境配置(LSP)
linux·vscode·里氏替换原则·lsp
jugt2 小时前
CentOS 7.9安装Nginx1.24.0时报 checking for LuaJIT 2.x ... not found
linux·运维·centos
多多*3 小时前
LUA+Reids实现库存秒杀预扣减 记录流水 以及自己的思考
linux·开发语言·redis·python·bootstrap·lua
何双新4 小时前
第21讲、Odoo 18 配置机制详解
linux·python·开源
21号 14 小时前
9.进程间通信
linux·运维·服务器
爱睡觉的王宇昊4 小时前
二、【ESP32开发全栈指南:ESP32 GPIO深度使用】
单片机·嵌入式硬件