Raspberry Pi:Аппаратные средства/Распиновка GPIO/SPI
Содержание | Введение | Продукты | Операционная система | Настройка | Основы Linux | Аппаратные средства | Неисправности | Типовые проблемы | Часто возникающие вопросы | Библиотеки | Примеры |
Черновик |
SPI
SPI – Serial Peripheral Interface (т.е. «последовательный периферийный интерфейс»)
SPI также известен как «4-проводная последовательная шина». Этот интерфейс позволяет настроить «гирляндное» подключение сразу нескольких совместимых устройств, используя при этом всего одну группу контактов — путем присвоения всем этим устройствам разных адресов.
Простой пример использования SPI — подключение цифрового IO-расширителя MCP23S17. При помощи библиотеки WiringPi сделать это проще простого:
import wiringpi2 as wiringpi
HIGH = 1
OUTPUT = 1
PIN_BASE = 65
SPI_ADDR = 0x20
wiringpi.wiringPiSetup()
wiringpi.mcp23S17Setup(PIN_BASE,SPI_ADDR)
# 16 контактов (включая стартовый контакт)
mcp23S17pins = range(PIN_BASE,PIN_BASE+15)
for pin in mcp23S17pins:
wiringpi.pinMode(pin,OUTPUT)
wiringpi.digitalWrite(pin,HIGH)
SPI-портом также можно воспользоваться, чтобы подключиться к ATmega 328 посредством метода Bit-Bang, тем самым получая возможность загружать в него скетчи Arduino при помощи модернизированной Гордоном версии AVRDude.
Подсоедините SPI-порт на Pi к ATmega, а затем запитайте ATmega от 3,3-вольтового контакта на Pi. Убедитесь, что у вас не запущено никаких драйверов для SPI-девайсов, после чего верифицируйте соединение при помощи команды
avrdude -p m328p -c gpio.
Чтобы правильно подключиться к Atmega, имеет смысл почитать о каждом SPI-контакте Raspberry Pi отдельно.
- 5-контактная гребенка
- Использует одиннадцать GPIO-контактов.