共计 1215 个字符,预计需要花费 4 分钟才能阅读完成。
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 设备的访问和控制。
原文地址: I2C-Tools 的安装与使用方法(详解,一篇教会你熟练使用)