i2c-tool工具

news2024/9/29 20:48:29

i2c-tool工具的使用方法 包括i2cdetect、i2cget、i2cset、i2cdump、i2ctransfer

i2cdetect命令

该命令用于扫描I2C总线上的设备。

语法:

i2cdetect [-y] [-a] [-q|-r] i2cbus [first last]:

参数说明:

参数y:关闭交互模式,使用该参数时,不会提示警告信息。

参数a:扫描总线上的所有设备。

参数q:使用SMBus的“quick write”命令进行检测,不建议使用该参数。

参数r:使用SMBus的“receive byte”命令进行检测,不建议使用该参数。

参数i2cbus:指定i2c总线的编号

参数first、last:扫描的地址范围

返回值说明:

‘–’:表示该地址被检测,但没有芯片应答;

‘UU’:表示该地址当前由内核驱动程序使用。

‘**’:**表示以十六进制表示的设备地址编号,如 “18

实例:
在这里插入图片描述

i2cdetect的其他命令:
i2cdetect -V:打印软件的版本
在这里插入图片描述

i2cdetect -l:检测当前系统有几组i2c总线
在这里插入图片描述

i2cget命令

i2cget:读某个寄存器的值,寄存器地址只能是8-bit。

语法:

i2cget [-f] [-y] i2cbus chip-address [data-address [mode]]

参数说明:

参数f:强制访问设备。

参数y:关闭交互模式,使用该参数时,不会提示警告信息。

参数i2cbus:指定i2c总线的编号

参数chip-address:i2c设备地址

参数data-address:设备的寄存器的地址

参数mode:指定读取的大小, 可以是b, w, s或i,分别对应了字节,字,SMBus块, I2C块。

实例:
在这里插入图片描述

其中: 1是总线号,0x1a是设备地址,0x0是寄存器地址。

i2cset命令

i2cset:写某个寄存器的值,寄存器地址只能是8-bit。

语法:

i2cset [-f] [-y] [-m mask] [-r] i2cbus chip-address data-address [value][mode]

参数说明:

参数f:强制访问设备。

参数y:关闭交互模式,使用该参数时,不会提示警告信息。

参数m:

参数r:写入后立即回读寄存器值,并将结果与写入的值进行比较。

参数i2cbus:指定i2c总线的编号

参数chip-address:i2c设备地址

参数data-address:设备的寄存器的地址

参数value:要写入寄存器的值

参数mode:指定读取的大小, 可以是b, w, s或i,分别对应了字节,字,SMBus块, I2C块

实例:

i2cdump命令

i2cdump:读取指定设备的全部寄存器的值。

语法:

i2cdump [-f] [-r first-last] [-y] i2cbus chip-address [mode [bank [bankreg]]]

参数说明:

参数r:指定寄存器范围,只扫描从first到last区域;

参数f:强制访问设备。

参数y:关闭人机交互模式;

参数i2cbus:指定i2c总线的编号

参数address:指定设备的地址

参数mode:指定读取的大小, 可以是b, w, s或i,分别对应了字节,字,SMBus块, I2C块

实例:
在这里插入图片描述

其中:1是总线号,0x1a是设备地址。

i2ctransfer命令

i2ctransfer:可以读写多字节寄存器地址。i2ctransfer可以替代i2cset和i2cget。

语法
i2ctransfer [-f] [-y] [-v] [-a] i2cbus w-n@chip-address data-0 data-1 ... data-n r-num
i2ctransfer [-f] [-y] [-v] [-a] i2cbus w-n@chip-address data-0 data-1 ... data-n    

参数说明:

参数f:强制访问设备。
参数y:关闭人机交互模式;
参数v:
参数a:允许用0x00-0x070x78-0x7f地址
参数i2cbus:指定i2c总线的编号
参数w-n:写n个字节
参数chip-address:器件地址
参数data-0 data-1 ... data-n:寄存器地址(读) / 寄存器地址和写的数据(写)
参数r-num:读num个字节

实例:
i2ctransfer -y -f 1 w4@0x1a 0x0 0x0 0xfe 0xf2
在这里插入图片描述

在这里插入图片描述
其中:1是总线号,0x1a是设备地址,0x0 0x0是16-bit寄存器地址,0xfe和0xf2是写入的数据。也就是把0xfe和0xf2写入到0x1a芯片的0x0 0x0寄存器中。w4表示要写4个字节,即寄存器地址0x0 0x0和数据0xfe 0xf2。

i2ctransfer -y -f 1 w2@0x1a 0x0 0xf r16
在这里插入图片描述

在这里插入图片描述
其中:1是总线号,0x1a是设备地址,0x0 0xf是16-bit寄存器地址,r16是读16个字节。也就是从0x0 0xf寄存器开始,向后读16个字节。w2表示要写2个字节,即寄存器地址0x0 0xf。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2087891.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

GEE 教程:如何实现对指定矢量集合的归一化操作(以北京市各区县面积和边长为例)

简介 数据归一化处理是指将数据按照一定的规则进行变换,使数据落入一个特定的区间范围内。数据归一化处理的目的是消除数据之间的量纲差异,同时保留数据的分布特征,以便更好地进行数据分析和建模。 常见的数据归一化方法有如下几种&#xf…

快讯 | 谷歌AI引擎GameNGen颠覆游戏产业:0代码生成《毁灭战士》

硅纪元快讯栏目,每日追踪AI领域的最新动态,快速汇总最新科技新闻,助您时刻紧跟行业趋势。简明扼要的呈现资讯概要,让您快速了解前沿资讯。 1分钟速览新闻 ChatGPT用户翻倍突破2亿,AI工具融入日常生活 智谱AI发布尖端语…

电工手册 v77.9 — 专业电气知识与实用工具(Mod版)

电工手册是一款专门为电力领域从业者及爱好者设计的知识普及与技能提升应用。无论你是专业电工、DIY爱好者,还是对电力领域有兴趣的学生,这款应用都能为你提供大量实用的资源和工具。内容涵盖电气理论、接线图和计算器等多个方面,旨在帮助用户…

(echarts)散点图怎么给横坐标添加单位

(echarts)散点图怎么给横坐标添加单位 效果: 代码: 拓展-给值加

类在JVM中的工作原理

文章目录 引言I 类在JVM中的工作原理class文件的结构类的生命周期II JVM运行时数据区堆栈的意义栈帧内部结构堆III 在JIT中比较常见的优化手段引言 类是一种抽象概念,它是一种模板,用来定义一类事物的属性和行为。类是面向对象编程的基础,它是一种抽象的概念,代表一类事物…

Java 魔法类 Unsafe 源码解读(一)

Java 魔法类 Unsafe 源码解读(一) 前言 阅读过 JUC 源码的同学,一定会发现很多并发工具都调用了一个叫做 Unsafe 的类。 那这个类的作用是什么呢?有什么使用场景呢?底层源码是什么样呢?这篇文章笔者就带…

uni-app商城小程序+后台管理系统,手把手教你搭建

uni-app商城小程序是一种通过uni-app框架开发的,可以在微信、支付宝、字节跳动等多个平台上运行的轻量级电商应用。 一、特点 跨平台兼容:基于uni-app框架,一次开发,可同时适配微信小程序、支付宝小程序、H5、App等多个平台&…

3DMAX2025新款插件精选大全

关于3DMAX2025的新款插件,虽然无法提供一个详尽无遗的列表,本文根据公开发布的信息和插件的流行趋势,概述一些新款插件或插件更新。请注意,由于插件市场不断变化,以下信息可能随时间而有所更新。 以下插件按首字母排序…

ts转mp4怎么转?分享3个方法,快速搞定

在视频编辑和处理的世界里,格式转换是一个常见且必要的任务。特别是当你手头上有一些ts格式的视频文件,而你又需要将它们转换成更通用、更容易分享的mp4格式时,了解如何进行转换就显得尤为重要。 只有掌握了格式转换的技能,我们才…

yolov8训练野火烟雾识别检测模型

1.数据集下载 数据集下载链接:https://hyper.ai/datasets/33096 2. 数据集格式转换 需要将json中的标注信息转换为yolo格式的标注文件数据 import json import os import shutil import cv2 import matplotlib.pyplot as plttarget "./data/val" def…

如何在没有密码的情况下解锁 Oppo 手机?5 种简单的方法

保护智能手机隐私的一种很好的方法是设置复杂的锁屏密码或图案。一些 OPPO 手机的所有者在更改后一夜之间经历了图案或密码的内存丢失。事实上,OPPO 用户遇到的众多问题包括忘记密码或锁定屏幕。遗憾的是,没有多少人知道无需密码即可解锁 OPPO 手机的简单…

JAVA毕业设计166—基于Java+Springboot+vue3的流浪宠物救助管理小程序(源代码+数据库)

毕设所有选题: https://blog.csdn.net/2303_76227485/article/details/131104075 基于JavaSpringbootvue3的流浪宠物救助管理小程序(源代码数据库)166 一、系统介绍 本项目前后端分离带小程序(可以改为ssm版本),分为用户、救助站、管理员三种角色 1、…

chapter09-OOP高级部分——(类变量和类方法)——day12

目录 ​编辑 374-类变量引出 375-类变量快速入门 376-类变量内存剖析 377-类变量定义访问 378-类变量使用细节 379-类方法快速入门 380-类方法最佳实践 381-类方法注意事项 静态方法只能访问静态变量 非静态方法可以访问静态成员和非静态成员(都可以访问…

OpenAI AI 聊天机器人周活跃用户超 2 亿

🦉 AI新闻 🚀 OpenAI AI 聊天机器人周活跃用户超 2 亿 摘要:科技媒体 Axios 报道,OpenAI 的 AI 聊天机器人在短短一年内实现了周活跃用户超过 2 亿的增长。该公司表示,全球财富 500 强企业中已有 92% 使用其产品&…

革新客户服务艺术:揭秘高效集成第三方平台与质检升级的前沿策略

Hi~这里是ProXiao 文章参考:晓观点 如何实现与第三方客服平台的有效对接并提高客户服务的质检水平?https://insight.xiaoduoai.com/intelligent-tools/quality-inspection/how-to-achieve-effective-integration-with-third-party-customer-service-pl…

书法图片自动扣字的批处理

本程序会根据原文字图片,自动扣字并生成黑字、红字2个透明的png图片,原图片黑字或白字均可。运行的话需要先安装好 ImageMagick-7.1.1-37 用法与生成效果举例: a.jpg 白字 转 黑、红扣字png: b.jpg 黑字 转 黑、红扣字png: 分享脚本如下: …

Kafka 到数据仓库:使用 bend-ingest-kafka 将消息加载到 Databend

将消息从 Apache Kafka 导入到像 Databend 这样的云数据仓库可能是一项艰巨的任务。bend-ingest-kafka 工具简化了这一过程,使您能够轻松地将 Kafka 消息导入到 Databend 表中。 什么是 bend-ingest-kafka? bend-ingest-kafka 工具是一个专门为从 Apac…

网上一堆教人用AI做自媒体的,真的能挣钱吗?看我真实测评~

今日主题:AI副业能做吗? 今年这情况,几乎所有人都想搞个副业。 有人问我:普通人真的能靠AI做自媒体搞钱吗? 先说结论:可以,但要找准路子! 听我慢慢道来~ 我是今年开始做AI自媒体…

同声传译用什么软件?5款优质软件评测

最近,我遇到了一个尴尬的情况。在一次国际会议中,我被分配到了一个多语言小组讨论。虽然我的英语还算流利,但面对来自世界各地的同事们,各种口音和语速让我感到有些力不从心。 那一刻,我多么希望有一个神奇的工具&…

如何解决已经安装软航文档控件但依旧提示未安装的问题

目录 前言 问题现象 问题处理步骤 前言 本文介绍在办公系统中使用重庆软航科技有限公司开发的NTKO OFFICE文档控件软件时,已经通过办公系统提供的软件安装包安装,但是在360安全浏览器、360极速浏览器的兼容模式下依旧提示:本机尚未安装跨浏…