utils/hw
utils
/
hw
1
1
Форкнуть 0
hw/utils/i2c-scan
СВД Встраиваемые Системы 1974eebdd1 i2c-scan: добавлена опция -s 2023-05-06 20:58:23 +03:00
..
nto Тестовые утилиты для ЗОСРВ "Нейтрино" редакции 2020 2022-10-01 18:07:24 +03:00
Makefile Тестовые утилиты для ЗОСРВ "Нейтрино" редакции 2020 2022-10-01 18:07:24 +03:00
README.md i2c-scan: добавлена опция -s 2023-05-06 20:58:23 +03:00
common.mk Тестовые утилиты для ЗОСРВ "Нейтрино" редакции 2020 2022-10-01 18:07:24 +03:00
i2c-scan.use i2c-scan: добавлена опция -s 2023-05-06 20:58:23 +03:00
main.c i2c-scan: добавлена опция -s 2023-05-06 20:58:23 +03:00

README.md

i2c-scan

Сканер шины I2C и чтение/запись произвольного регистра I2C устройства.

Синтаксис

i2c-scan [-d устройство] [-f] [-s] [-a адрес] [-r смещение] [-w значение] [-c количество]

Опции

  • -d устройство

    Устройство I2C. Например: /dev/i2c1. По умолчанию: /dev/i2c0

  • -f

    Сканировать шину. Задано по умолчанию.

  • -a адрес

    Адрес I2C устройства на шине, например, 0x60.

  • -r смещение

    Смещение регистра I2C устройства. По умолчанию: 0.

  • -w значение

    Значение для записи в регистр устройства.

  • -c количество

    Количество регистров для чтения/записи. По умолчанию: 1.

  • -s

    Не пропускать сканирование специального адреса 0 (general call address).

Описание

Утилита i2c-scan сканирует шину I2C, последовательно перебирая доступные адреса (1-127), и выводит таблицу с присутствующими на шине устройствами.

При задании адреса устройства на шине (опция -a) считывает указанное количество регистров (опция -c) со смещением, заданным опцией -r.

Пример работы сканера для шин I2C0 и I2C1:

# i2c-scan                
Scanning I2C device /dev/i2c0 for I2C devices... 
    0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f 
00: xx -- -- -- -- -- -- -- -- -- -- -- -- -- -- --  
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --  
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --  
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --  
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --  
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --  
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 6f  
70: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --  
Scanning done  
#  
# i2c-scan -d /dev/i2c1   
Scanning I2C device /dev/i2c1 for I2C devices... 
    0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f 
00: xx -- -- -- -- -- -- -- -- -- -- -- -- -- -- --  
10: -- -- -- -- -- -- -- -- 18 19 -- -- -- -- -- --  
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --  
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --  
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --  
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --  
60: 60 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --  
70: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --  
Scanning done 

Предостережения

I2C устройства, требующие первичной инициализации/включения и/или специфичных многобайтовых транзакций, могут не отображаться сканером шины или не выполнять запросы чтения/записи регистров.

Примеры

Сканировать шину I2C0:

i2c-scan

Сканировать шину I2C1:

i2c-scan -d /dev/i2c1

Считать регистр со смещением 0x50 устройства с адресом 0x60 на шине I2C0

i2c-scan -a 0x60 -r 0x50