Linux-笔记 i2c-tools

1、i2c-tools介绍

1、在日常linux开发中,有时候需要确认i2c硬件是否正常连接,设备是否正常工作,设备的地址是多少等等,这里我们就需要使用一个用于测试I2C总线的工具——i2c-tools,i2c-tools原理是通过操作/dev 路径 i2c-n设备文件完成,因此kernel必须开启了 CONFIG_I2C_CHARDEV 配置,否者会报找不到节点。在设备上也可以通过目标板终端输入:ls /sys/bus/i2c/devices查看i2c设备节点信息。看到的i2c-0,i2c-1,指的是i2c总线节点,i2c从设备都是挂载在总线节点下的。

2、源码获取:Index of /pub/software/utils/i2c-tools/

3、包含工具

i2cdetect:用于扫描 i2c 总线上的设备,并显示地址。
    i2cset:设置i2c设备某个寄存器的值。
    i2cget:读取i2c设备某个寄存器的值。
    i2cdump:读取某个i2c设备所有寄存器的值。

二、测试方法

  1. i2cdetect

        (1)查询开发板包含的i2c总线和外设输入命令:i2cdetect -l

        2)探测开发板包含的i2c总线,探测i2c-1总线上挂载的外设,-y表示取消交互模式,1是指i2c-1,输入命令:i2cdetect -y -r 1

下图所示,从设备地址是0x51,UU表示设备地址的从设备被驱动占用,探测程序会略过该设备卸载对应的驱动后,UU就会变成数据,-- 表示该地址被检测,但是没有应答,这里就用这个设备地址进行测试。

        2. i2cset

        (1)设置i2c设备单个寄存器值,输入命令i2cset -y -f 1 0x51 0x00 0x08

                -y 取消交互模式,直接执行命令

                -f 强制访问该设备

                1 表示i2c总线编号

                0x57 表示i2c设备地址

                0x00 表示寄存器地址

                0x08 表示待写入的值

        

        3. i2cget

        (1)查看i2c设备单个寄存器的值,输入命令i2cget -y -f 1 0x51 0x00

                -y 取消交互模式,直接执行命令
               -f 强制访问该设备
               1 表示i2c总线编号
               0x51 表示i2c设备地址
               0x00 表示寄存器地址

        4. i2cdump

        (1)查看i2c设备所有寄存器的值,输入命令i2cdump -y -f 1 0x51

                -y 取消交互过程,直接执行命令
               -f 强制访问该设备
               1 表示i2c总线编号
               0x51 表示i2c设备地址

        

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JavaScript之数据类型(2)——复杂类型(object)

object的介绍: 我对于object的理解是和C/C中的结构体一样,是一个自定义的数据类型,我们可以通过多个简单的数据类型来定义一个便于我们使用的新的数据类型。 在网上某佬对于其解释如下: Object类型,我们也称为一个对象…

Redis学习5——Redis应用之签到

Redis位图bitMap 位图由一系列二进制位组成,每个位可以被设置为1或0,当我们在处理需要高效存储和操作大量二进制位数据的适合,位图是一个非常有用的工具。 位图操作命令有: SETBIT:设置位图中指定位置的位的值。可以…

3.ERC4626

ERC4626是一个vault,在DAI中,使用ETH换取DAI。其流程为先充值ETH到maker vault。 Vault 资产的管理、分红用户充值某项资产获取某个凭证该凭证作为分红、推出的依据Yield Farming/借贷/质押等 以太坊改进提案EIP:ethereum improvemwnt proposal 最初E…

Mysql8.0.30一次表锁问题的解决

起因 给material_config_field_data表的字段建立全文索引的时,发现该表卡死,然后无法对该表进行任何操作。 查找问题 执行sql #这个命令会显示InnoDB存储引擎的详细状态信息,包括锁等待和锁争用的信息 SHOW ENGINE INNODB STATUS结果 复制S…

​Inf-DiT:Upsampling Any-Resolution Image、Vidu、MVDiff、Trio-ViT

本文首发于公众号:机器感知 ​Inf-DiT:Upsampling Any-Resolution Image、Vidu、MVDiff、Trio-ViT Inf-DiT: Upsampling Any-Resolution Image with Memory-Efficient Diffusion Transformer Diffusion models have shown remarkable performance in im…

树莓派4-使用systemctl设置开机自启oled播放服务ip地址与logo

一、目标: 开机自启oled显示服务ip与端口,并播放logo 二、过程: 1、出现luma库不存在问题,修改.service文件,增加用户与用户组。在本地测试过程中可以使用python script.py执行python脚本,所以将.servic…

java递归-(迷宫问题)

前面 这里我们来玩个有趣的事情,链接是0221_韩顺平Java_老鼠出迷宫1_哔哩哔哩_bilibili 我们要找的是小老鼠按路径走到右下点 要点 我们这里方法调用时对于引用类型:如java中引用数据类型有哪些?_java引用数据类型-CSDN博客 会共享引用类型…

斯坦福大学的在线密码学课程

密码学是保护计算机系统信息不可或缺的工具。在本课程中,您将了解密码系统的内部工作原理,以及如何在实际应用中正确使用它们。课程首先将详细讨论当强大的对手窃听和篡改流量时,拥有共享密钥的双方如何进行安全通信。我们将研究许多已部署的…

部署Gerapy

1.Gerapy 是什么? Gerapy 是一款基于 Python 3 的分布式爬虫管理框架,它旨在简化和优化分布式爬虫的部署、管理和监控过程。 2.作用与功能? 2.1分布式管理: Gerapy 允许用户在多台机器上部署和管理Scrapy爬虫,实现爬虫…

【计算机毕设】小型企业办公自动化系统+vue - 免费源码(私信领取)

免费领取源码 | 项目完整可运行 | v:chengn7890 诚招源码校园代理! 1. 研究目的 本项目旨在设计并实现一个小型企业办公自动化系统,利用Vue作为前端框架,为企业员工提供便捷的办公管理工具,提升…

基于51单片机的八路抢答器—加随机抽选功能

基于51单片机的八路抢答器 (仿真+程序原理图+设计报告) 功能介绍 具体功能: 1.主持人按键控制开始抢答; 2.开始抢答按下,数码管20秒倒计时; 3.8个按键代表八位选手,谁…

python面向函数

组织好的,可重复利用的,用来实现单一,或相关联功能的代码段,避免重复造轮子,增加程序复用性。 定义方法为def 函数名 (参数) 参数可动态传参,即使用*args代表元组形式**kwargs代表字典形式,代替…

tsconfig 备忘清单

前言 ❝ Nealyang/blog0 使用 ts 已多年,但是貌似对于 tsconfig 总是记忆不清,每次都是 cv 历史项目,所以写了这篇备忘录,希望能帮助到大家。 本文总结整理自 Matt Pocock 的一篇文章3,加以个人理解,并做了…

【爬虫基础1.1课】——requests模块

目录索引 requests模块的作用:实例引入: 特殊情况:锦囊1:锦囊2: 这一个栏目,我会给出我从零开始学习爬虫的全过程。感兴趣的小伙伴可以关注一波,用于复习和新学都是不错的选择。 那么废话不多说&#xff0c…

【Matlab-动画-附源码】3分钟教你用Matlab做一个Lorenz动画

lorenz-x-y-z Lorenz三个维度数据 在科研工作中,经常需要将数据可视化以便更好地理解和传达研究成果。 但大家主要放静态图片,而视频或动画通常比静态图片更具吸引力和表现力。AE, Manim太难学,Matlab就可以用来制作动画。 在这篇博客中&…

Linux-信号执行

1. 信号什么时候被处理 当进程从内核态返回到用户态的时候,进行信号的检测和处理 什么内核态,什么又是用户态呢? 当进程在CPU上运行时,内核态:允许进程访问操作系统的代码和数据,用户态:进程只…

视频降噪算法 hqdn3d 原理分析

视频降噪 视频降噪是一种处理技术,旨在减少视频中的噪声,提高画面质量。噪声可能来自多种源头,包括摄像机的传感器、压缩算法、传输过程中的干扰等。降噪处理对于视频监控、视频会议、电影后期制作以及任何需要高画质输出的应用场景都非常重…

【面经】网络

了解TCP/IP协议,了解常用的网络协议:study-area 一、TCP/IP协议 TCP/IP协议是一组网络通信协议,旨在实现不同计算机之间的信息传输。 1、TCP/IP四层模型: 网络接口层、网络层、传输层和应用层。 网络接口层:定义了数据的格式和…

揭秘抖音快速涨10000粉的方法:巨量千川投流让你轻松快速增粉

抖音已经成为了当今社交平台的热门之一,而如何快速涨粉已经成为了很多人关注的焦点。本文将揭秘一种高效的方式——巨量千川投流,通过官方真实流量和真实粉丝,每天快速涨关注,实现快速增粉1000~10万。 巨量千川投流是一种专业的抖…

Python-VBA函数之旅-pow函数

目录 一、pow函数的常见应用场景 二、pow函数使用注意事项 三、如何用好pow函数? 1、pow函数: 1-1、Python: 1-2、VBA: 2、推荐阅读: 个人主页:神奇夜光杯-CSDN博客 一、pow函数的常见应用场景 Py…
最新文章