Raspberry Pi:Примеры/Библиотека WiringPi/Quick2Wire и WiringPi/Тестирование I2C-модулей
Содержание | Введение | Продукты | Операционная система | Настройка | Основы Linux | Аппаратные средства | Неисправности | Типовые проблемы | Часто возникающие вопросы | Библиотеки | Примеры |
Тестирование I2C-модулей[1]
Если у вас нет I2C-модулей для 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 и т.д.