1.首先检测系统上有几组i2c:

root@imx8qmmek:/etc/xen# i2cdetect -l
i2c-3   i2c             56247000.i2c                            I2C adapter
i2c-2   i2c             56226000.i2c                            I2C adapter

由上可知,系统中存在两组总线分别i2c-2和i2c-3。

2.用i2cdetect检测挂载在i2c总线上器件

输入 i2cdetect -r -y 2 ,该命令是检测56247000.i2c(i2c0_mipi_dsi0)上的i2c。

root@imx8qmmek:/etc/xen# i2cdetect -r -y 2 0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- UU -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: UU -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

一共挂载了两个设备,分别是60和2a。
查看dts,确实如此:

&i2c0_mipi_dsi0 {dsi-pannel@60 {compatible = "max96755";reg = <0x60>;#address-cells = <0x1>;#size-cells = <0x0>;#reset-cells = <0x1>;};dsi-pannel@2a {compatible = "max96752";reg = <0x2a>;#address-cells = <0x1>;#size-cells = <0x0>;#reset-cells = <0x1>;};
};

3.用i2cdump查看器件所有寄存器的值

这个很有用,输入 i2cdump -f -y 2 0x2a (查看max96752存器值)

root@imx8qmmek:/etc/xen# i2cdump -f -y 2 0x2a
No size specified (using byte-data access)0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
00: da 00 81 00 fb 03 00 00 00 00 00 43 01 03 00 00    ?.?.??.....C??..
10: 55 55 55 00 00 00 00 00 00 00 00 00 00 00 00 00    UUU.............
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................

4.用i2cset设置单个寄存器值

用i2cget读取单个寄存器值。

i2cset -f -y 2 0x2a 0x77 0x3f (设置i2c-1上0x20器件的0x77寄存器值为0x3f)
i2cget -f -y 2 0x2a 0x0d    (读取i2c-1上0x20器件的0x77寄存器值)

5.用i2ctransfer读16位寄存器。

i2ctransfer -f -y 2 w2@0x60 0x00 0x0d r1 (其中参数2为i2c2,w2表示写两个字节,@0x60为你的i2c设备(注意要7位地址),0x00 0x0d 为高低位地址,r1为读取的数据是一个byte。)

i2ctransfer  -f -y 2 w4@0x60 0x03 0x30 0x00 0x06i2ctransfer  -f -y 2 w2@0x60 0x02 0xd3 r1
i2ctransfer  -f -y 2 w3@0x60 0x02 0xd3  0x84 i2ctransfer  -f -y 2 w2@0x2a 0x02 0x15 r1
i2ctransfer  -f -y 2 w3@0x2a 0x02 0x15  0x82

6.linux yocto添加方法(默认加了):

conf/local.conf
IMAGE_INSTALL_append += " i2c-tools"

i2c-tool使用详细说明相关推荐

  1. i2c通信的详细讲解_【博文连载】SCCB(I2C)初始化时序介绍

    在正式开始OV7725视频采集实现之前,Bingo不得不先讲解一下OV7725的寄存器配置接口.OV7725上电会默认输出YUV422格式的视频流,但我们希望传感器能够按照我们预期的模式工作,我们需要 ...

  2. DFRobot语音识别模块推荐-Gravity: I2C离线中文语音识别模块

    语音识别模块介绍 DFRobot语音识别模块使用Gravity I2C接口通信,兼容绝大部分主控,非常适合接入教育场景使用.三种语音识别模式和三种语音输入方式使模块可以集成入更多的场景. 这块语音识别 ...

  3. Linux应用开发【第十二章】I2C编程应用开发

    文章目录 12 I2C编程应用开发 12.1 I2C协议 12.1.1 概述 12.2.2 物理层 1) 特性1:半双工(非全双工) 2) 特性2:地址和角色可配置 3) 特性3:多主机 4) 特性4 ...

  4. 【I2C】i2c-tools的使用方法

    参考自:https://www.jianshu.com/p/1295881fd501 https://blog.csdn.net/kai_zone/article/details/80491706 前 ...

  5. OMAP3630 Linux I2C总线驱动分析(1)

    1 Linux I2C驱动架构 Linux下I2C驱动的架构图如下: 图1.1 Linux下I2C驱动架构 如上图所示,每条I2C总线会对应一个adapter,而每条I2C总线上则可以有多个 clie ...

  6. Linux设备驱动---OMAP3630 Linux I2C总线驱动分析(1)

    原文地址:http://blog.csdn.net/kellycan/article/details/6394737 1 Linux I2C驱动架构 Linux下I2C驱动的架构图如下: 图1.1 L ...

  7. OMAP3630 Linux I2C总线驱动分析

    1 Linux I2C驱动架构 Linux下I2C驱动的架构图如下: 图1.1 Linux下I2C驱动架构 如上图所示,每条I2C总线会对应一个adapter,而每条I2C总线上则可以有多个 clie ...

  8. 在 Azure 上部署 Asp.NET Core Web App

    在云计算大行其道的时代,当你要部署一个网站时第一选择肯定是各式各样的云端服务.那么究竟使用什么样的云端服务才能够以最快捷的方式部署一个 ASP.NET Core的网站呢?Azure 的 Web App ...

  9. Azure 部署 Asp.NET Core Web App

    在云计算大行其道的时代,当你在部署一个网站时,第一选择肯定是各式各样的云端服务.那么究竟使用什么样的云端服务才能够以最快捷的方式部署一个 ASP.NET Core 的网站呢?Azure 的 Web A ...

  10. andriod开发中的几个基本概念及关系SDK ADT Platform API

    1.Platform:系统固件 2. SDK:软件开发包 3. ADT:Android 开发工具,图形化配合SDK,结合Eclipse,可以没有ADT,但必须有SDK.ADT版本和Platform没有 ...

最新文章

  1. 《硝烟中的Scrum和XP》作者新作 《精益开发实战》
  2. 1.23 实例:查询个人信息
  3. Python GUI编程(Tkinter)
  4. linux c显示日期,Linux C判断日期格式是否合法
  5. 9张图总结一下阿里云的2019
  6. 微软超级麻将AI Suphx论文发布,研发团队深度揭秘技术细节
  7. android n 支持机型,Android N无缝更新功能不适于现有机型
  8. hdu 2117(小数点后m位)
  9. Oracle修改实例名SID
  10. linux部署was找不到8879端口,WAS8.0与IHS集群安装与配置指导手册
  11. IT程序员编程工具利器-辅助编程神器
  12. 深入了解FileNet
  13. smartsvn.license
  14. 好多游戏,大部分都有修改器,大家赶紧下!
  15. linux中 zip命令将整个目录打成zip包
  16. VTK学习之激光点云动态库封装(排水管道)
  17. 淘宝违规考试软件1.0
  18. python中def main是什么意思_python main用法解析
  19. 北京现代APP每日问答合集(持续更新)
  20. COLA之架构演变(一)

热门文章

  1. 内存整理的原理是什么?
  2. 2023电工杯数学建模B题思路分析
  3. 2023电工杯数学建模B题思路
  4. js-cookie设置token过期时间
  5. 200-Smart学习笔记:比较传送移位指令的用法案例(3)
  6. python爬取微博热搜写入数据库_python爬虫爬取微博热搜
  7. animals中文谐音_搞笑的英语句子谐音
  8. cublas_学习笔记2
  9. CAD软件中怎么定制线图案?
  10. 在python中设置静态变量