99久久全国免费观看_国产一区二区三区四区五区VM_久久www人成免费看片中文_国产高清在线a视频大全_深夜福利www_日韩一级成人av

Linux內核i2c-tools命令

本文基于RockPi 4A Debian系統介紹i2c設備的調試工具i2c-tools

i2c-tools的相關命令常用于linux系統讀寫i2c設備寄存器的在線調試。

安裝命令:

apt-get updateapt-get install i2c-tools

linux版本代碼下載路徑:

https://mirrors.edge.kernel.org/pub/software/utils/i2c-tools/

一、i2cdetect

1、命令

root@linaro-alip:/# i2cdetectError: No i2c-bus specified!Usage: i2cdetect [-y] [-a] [-q|-r] I2CBUS [FIRST LAST] i2cdetect -F I2CBUS i2cdetect -l I2CBUS is an integer or an I2C bus name If provided, FIRST and LAST limit the probing range.

2、用法

## 列出i2c總線root@linaro-alip:/# i2cdetect -li2c-0 i2c rk3x-i2c I2C adapteri2c-1 i2c rk3x-i2c I2C adapteri2c-9 i2c DesignWare HDMI I2C adapter## 列出某個i2c總線上的i2c設備root@linaro-alip:/# i2cdetect -y 0 0 1 2 3 4 5 6 7 8 9 a b c d e f00: -- -- -- -- -- -- -- -- -- -- -- -- --10: -- -- -- -- -- -- -- -- -- -- -- UU -- -- -- --20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --40: UU UU -- -- -- -- -- -- -- -- -- -- -- -- -- --50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --70: -- -- -- -- -- -- -- --root@linaro-alip:/#

RockPi 4A原理圖中,I2C0總線掛載I2C設備地址如下:

RockPi 4A單板 I2C 0總線I2C設備

二、i2cdump

1、命令

root@linaro-alip:~# i2cdumpError: No i2c-bus specified!Usage: i2cdump [-f] [-y] [-r first-last] I2CBUS ADDRESS [MODE [BANK [BANKREG]]] I2CBUS is an integer or an I2C bus name ADDRESS is an integer (0x03 - 0x77) MODE is one of: b (byte, default) w (word) W (word on even register addresses) s (SMBus block) i (I2C block) c (consecutive byte) Append p for SMBus PEC

2、用法

## 顯示I2C 0號總線上0x1b設備的寄存器值。MODE為byte,可省略。root@linaro-alip:~# i2cdump -f -y 0 0x1b b 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef00: 12 50 08 21 01 13 01 00 00 00 00 01 01 00 00 00 ?P?!???....??...10: 80 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ??..............20: 01 17 00 6f ff 00 00 00 10 00 ff 0f ff 02 19 0f ??.o....?..?.???30: 00 00 19 07 00 00 02 03 00 00 09 00 00 00 00 0a ..??..??..?....?40: 00 0c 00 0c 00 07 00 01 00 0c 00 00 00 5f 00 03 .?.?.?.?.?..._.?50: 06 01 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 cf 03 00 28 00 0c 1c 80 19 00 34 12 00 71 00 .??.(.????.4?.q.80: 10 50 1f ac 00 40 10 01 40 00 08 00 09 09 00 00 ?P??.@??@.?.??..90: 55 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 U...............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 ................

三、i2cget

1、命令

root@linaro-alip:~# i2cgetUsage: i2cget [-f] [-y] I2CBUS CHIP-ADDRESS [DATA-ADDRESS [MODE]] I2CBUS is an integer or an I2C bus name ADDRESS is an integer (0x03 - 0x77) MODE is one of: b (read byte data, default) w (read word data) c (write byte/read byte) Append p for SMBus PEC

2、用法

## 顯示I2C 0號總線上0x1b設備0x0和0x1寄存器地址,按字節讀取root@linaro-alip:~# i2cget -f -y 0 0x1b 0x00x12root@linaro-alip:~# i2cget -f -y 0 0x1b 0x10x50## 按字讀取root@linaro-alip:~# i2cget -f -y 0 0x1b 0x0 w0x5012

四、i2cset

1、命令

root@linaro-alip:~# i2csetUsage: i2cset [-f] [-y] [-m MASK] [-r] I2CBUS CHIP-ADDRESS DATA-ADDRESS [VALUE] ... [MODE] I2CBUS is an integer or an I2C bus name ADDRESS is an integer (0x03 - 0x77) MODE is one of: c (byte, no value) b (byte data, default) w (word data) i (I2C block data) s (SMBus block data) Append p for SMBus PEC

2、用法

root@linaro-alip:/sys/rk8xx# i2cget -f -y 0 0x1b 0x100x80root@linaro-alip:/sys/rk8xx# i2cset -f -y 0 0x1b 0x10 0x0root@linaro-alip:/sys/rk8xx# i2cget -f -y 0 0x1b 0x100x00

注:RK808-D 是PMIC芯片,如果沒有芯片手冊,建議慎重使用i2cset命令設置RK808-D寄存器的值。

五、i2ctransfer

i2c-tools-4.0及以后版本添加了i2ctransfer命令。

i2cgeti2cset可以讀寫的i2c設備的寄存器地址小于0xff,即寄存器是8位地址。

如果i2c設備寄存器是16位地址,可使用i2ctransfer命令,該命令同樣可用在寄存器地址是8位的設備。

1、命令

"Usage: i2ctransfer [-f] [-y] [-v] [-V] [-a] I2CBUS DESC [DATA] [DESC [DATA]]...\n"" I2CBUS is an integer or an I2C bus name\n"" DESC describes the transfer in the form: {r|w}LENGTH[@address]\n"" 1) read/write-flag 2) LENGTH (range 0-65535, or '?')\n"" 3) I2C address (use last one if omitted)\n"" DATA are LENGTH bytes for a write message. They can be shortened by a suffix:\n"" = (keep value constant until LENGTH)\n"" + (increase value by 1 until LENGTH)\n"" - (decrease value by 1 until LENGTH)\n"" p (use pseudo random generator until LENGTH with value as seed)\n\n""Example (bus 0, read 8 byte at offset 0x64 from EEPROM at 0x50):\n"" # i2ctransfer 0 w1@0x50 0x64 r8\n""Example (same EEPROM, at offset 0x42 write 0xff 0xfe ... 0xf0):\n"" # i2ctransfer 0 w17@0x50 0x42 0xff-\n");

2、用法

## 從i2c 4號總線0x38設備的0x3a01寄存器開始讀16個字節的數據,w2:表示寄存器0x3a01的長度為2個字節i2ctransfer -y -f 4 w2@0x38 0x3a 0x01 r16## 向i2c 4號總線0x38設備的0x3a01寄存器寫0x10,w3:表示寄存器0x3a01和寫入值0x10的長度為3字節i2ctransfer -y -f 4 w3@0x38 0x3a 0x01 0x10
聲明:本內容為作者獨立觀點,不代表電子星球立場。未經允許不得轉載。授權事宜與稿件投訴,請聯系:editor@netbroad.com
覺得內容不錯的朋友,別忘了一鍵三連哦!
贊 2
收藏 2
關注 181
成為作者 賺取收益
全部留言
0/200
成為第一個和作者交流的人吧
主站蜘蛛池模板: 成人午夜做爰视频免费看 | 最新国产の精品合集bt伙计 | 成人无码精品1区2区3 | 特级全黄男女交高清视频在线观看 | 2020久久超碰国产精品最新 | 狠狠操社区 | 北条一二三区 | 国产免费人成视频网站在线18 | 女女女女bbbb毛片免费视频 | 午夜免费小视频 | 黑人精品欧美一区二区蜜桃 | 综合亚洲自拍 | 国产91免费视频 | 日本免费在线看 | 日韩一区二区三区四区区区 | 久久久国产精品萌白酱免费 | 午夜狠狠干 | a级黄色片子 | 国产乱码精品 | 2021国产精品成人免费视频 | 亚洲国产99在线精品一区二区 | 成人小视频在线观看免费 | 亚洲精品综合第一国产综合 | 乱码一区二区三区四区 | 伊人逼逼| 精品国产免费一区二区三区四区 | 国产美女精品视频线免费播放软件 | 欧美日产一区 | 欧美日韩一区二区三区不卡 | 可以免费观看av毛片 | 无码在线观看一区二区 | 国产精品三级在线观看无码 | 91视频在线观看免费 | 激情综合网五月激情 | 欧美日韩亚洲天堂 | 日本一区二区高清不卡 | 四色激情网 | 橘梨纱av一区二区三区在线观看 | 99精品久久久久久久免费 | 久久久精品久久 | 国产成人无精品久久久久国语 |