Skip to content

I2C Detector 使用说明 ​

I2C Detector 显示 Linux 系统发现的 I2C 总线和地址响应情况。 安装后的程序名为 lilygo-ui-i2cdetector。

使用前准备 ​

  • 使用已启用 I2C 控制器、正确配置引脚的 Linux 设备。
  • 内核需要提供 i2c-dev 和 /dev/i2c-* 节点。
  • 运行应用的用户需要这些节点的读写权限。
  • 按板卡要求完成供电、共地、信号电压与上拉连接。

应用一打开就会扫描所有发现的适配器。 扫描会执行 SMBus Quick 写或 Byte 读,部分器件可能受探测影响;请先确认连接的设备允许这样扫描。 界面选择某条总线只改变显示,不能限制扫描范围。

第一次扫描 ​

  1. 在 Launcher 打开 I2C Detector。
  2. 等待自动扫描结束;状态区显示总地址数及不可用总线数量。
  3. 选择 /dev/i2c-N,查看该总线的地址矩阵、计数或错误。
  4. 接线或权限变化后,点击 Scan 重新发现并扫描全部适配器。
  5. 扫描期间 Scan 暂时不可用,旧结果仍可查看和切换。

新结果完成后一次性更新,不逐地址显示进度。 只要原总线仍存在,重新扫描后会保留其选择。 应用不会定时重扫;需要更新结果时请手动点击 Scan。

如何读地址图 ​

显示含义
绿色地址探测成功,或地址已被内核驱动占用。
普通未高亮地址本次未检测到响应,也可能是事务不支持或总线不可用。
弱化地址0x00–0x02、0x78–0x7F 不参与探测。

矩阵显示 0x00–0x7F,实际探测范围为 0x03–0x77。 例如 3C 表示七位地址 0x3C,不是带读写位的八位地址。 界面中的 “devices” 统计的是检测到的地址数,不是已识别的器件型号数。 绿色格子不区分普通响应与内核占用,不会显示独立的 UU 标记。 点击地址不会打开寄存器编辑器,应用也不能识别多个器件共用同一地址。

权限与平台 ​

可以在设备终端检查:

sh
ls -l /dev/i2c-*
id

由系统管理员按照实际设备组或 udev 策略授予访问权限。 安装应用本身不会启用控制器或自动创建权限规则。 Linux 桌面模拟器同样会扫描真实硬件;SDL 窗口不代表演示模式。 macOS 等非 Linux 系统显示 I2C scanning is only available on Linux devices,不会提供模拟总线。

数据保存与限制 ​

扫描结果只保留在当前会话内,没有历史保存或导出按钮。 没有总线白名单、地址范围或自动扫描间隔设置。 结果是地址探测信息,不能替代传感器测量或器件通信测试。

常见问题 ​

现象处理
No I2C buses found检查控制器、驱动和 /dev/i2c-*,再点击 Scan。
Bus unavailable: Permission denied检查运行账户对节点的读写权限和组成员资格。
计数为 0核对总线、供电、接线、七位地址以及设备支持的 SMBus 事务。
状态含 unavailable切换到对应总线查看错误;其他总线仍可能正常。
扫描或退出较慢内核事务可能仍在等待,检查适配器和驱动状态。

本文依据本地 I2C Detector 的扫描说明及扫描器、页面实现整理。

返回使用文档 · 返回文档中心