NUC980开源项目36-命令行使用IIC

 

上面是我的微信和QQ群,欢迎新朋友的加入。

内核中配置好IIC之后。查看设备启动信息

 设备启动成功

I2c扫描

通过i2cdetect -l指令可以查看I2C总线

[root@nuc980: /]$i2cdetect -l
i2c-3	i2c       	nuc980-i2c3                     	I2C adapter

I2C设备查询

    若总线上挂载I2C从设备,可通过i2cdetect扫描某个I2C总线上的所有设备

[root@nuc980: /]$i2cdetect -y 3
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- 32 -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --

说明1:-y为一个可选参数,如果有-y参数的存在则会有一个用户交互过程,意思是希望用户停止使用该I2C总线。如果写入该参数,则没有这个交互过程,一般该参数在脚本中使用。

说明2:此处I2C总线共挂载了一个设备

 

寄存器内容导出

    通过i2cdump指令可导出I2C设备中的所有寄存器内容

[root@nuc980: /]$i2cdump -y 3 0x32
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
00: 06 36 1f 45 2b 02 7f f4 87 bc f6 80 07 02 2b 40    ?6?E+?????????+@
10: 06 36 1f 45 2b 02 7f 94 00 00 00 80 07 02 2b 40    ?6?E+???...???+@
20: 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ?...............
30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
40: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................

    i2cdump -y 3 0x32指令中,

    -y        代表取消用户交互过程,直接执行指令;

    3        代表I2C总线编号;

    0x32    代表I2C设备从机地址,此处选择配置芯片的高256字节内容。

寄存器内容写入

    如果向I2C设备中写入某字节

[root@nuc980: /]$i2cset -y 3 0x32 0x00 0x13
[root@nuc980: /]$ i2cget -y 3 0x32 0x00
0x13
[root@nuc980: /]$

    -y        代表曲线用户交互过程,直接执行指令

   3         代表I2C总线编号

    0x32    代表I2C设备地址,此处选择AT24C04的低256字节内容

    0x00    代表存储器地址

    0x13    代表存储器地址中的具体内容

寄存器内容读出

  1. [root@nuc980: /]$i2cset -y 3 0x32 0x00 0x13
    [root@nuc980: /]$ i2cget -y 3 0x32 0x00
    0x13
    [root@nuc980: /]$
    

    如果从I2C从设备中读出某字节

    -y        代表曲线用户交互过程,直接执行指令

   3        代表I2C总线编号

    0x32    代表I2C设备地址,此处选择AT24C04的低256字节内容

    0x00    代表存储器地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值