Raspberry Pi:Примеры/Библиотека WiringPi/Quick2Wire и WiringPi/Тестирование I2C-модулей

Материал из Онлайн справочника
Версия от 13:15, 18 июня 2023; EducationBot (обсуждение | вклад)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.



Тестирование I2C-модулей[1]

Если у вас нет I2C-модулей для Quick2Wire, эту статью можно пропустить.

16-контактная Quick2Wire с цифровым интерфейсом (внизу) и 5-контактная Quick2Wire с аналоговым интерфейсом (вверху)

Чтобы начать тестирование плат с I2C-интерфейсом, сначала нужно убедиться, что у вас загружены I2C-модули для ядра Linux. Если модули не загрузились автоматически, то загружаем их при помощи команды gpio:

gpio load i2c

Далее можно воспользоваться либо командой i2cdetect, либо gpio – они сами разберутся в отличиях между 1 и 2 версиями Raspberry Pi.

gpio i2cd

Адрес по умолчанию для GPIO-расширителя MCP23017 – это «0х20», а адрес по умолчанию для аналогового IO-чипа PCF8591«0x48». Разумеется, если у вас есть лишь одно из этих устройств, то результат будет отличаться от схемы, показанной ниже. То же верно и для случаев, когда переставлены перемычки (это меняет адрес I2C). К слову, перемычки иногда полезно переставлять с места на место, чтобы убедиться, что они делают то, что вам нужно.

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: 20 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- 48 -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --

Если у вас получилось так, как на схеме выше, то поздравляем! Как минимум в одном платы настроены – их чипы работают с шиной I2C.

Примечание: Если у вас ранняя версия 16-контактной IO-платы, то у нее номера выходных контактов инвертированы, т.е. контакт 7 – это контакт 0, 6 – это 1, 5 – это 2 и т.д.

См.также

Внешние ссылки