Blog/content/posts/arduino/multiple-spi.md

33 lines
1.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: "📟 Подключение нескольких устройств по SPI к Arduino"
date: 2023-06-04T16:59:55+03:00
draft: false
tags: [arduino, tips, spi]
---
## Вопрос
Кто-нибудь сталкивался с подключениям нескольких SPI устройство к Arduino?
Подскажите, как заставить оба устройства работать?
Подключал к разным **CS**-пинам, всё равно не работает одно, пока не отключишь второе.
## Ответ
Если у вас один из стандартных вариантов плат (совместимых с UNO),
то ошибка в использовании **10** пина.
Стандартная библиотека `SPI` принудительно использует пин с номером **SS**
(см. `pins_arduino.h`) для активации ведомого.
В случае UNO-совместимых плат это как раз **10**-й.
Чтобы работали несколько устройств нужно делать так:
1. MOSI, MISO и SCK подключать соответственно к пинам `11`, `12` и `13` соответственно.
2. Для SS (CS) использовать любой пин, **кроме** `10`, `11`, `12` и `13`.
3. К 10 пину **не подключать вообще ничего**.
## Ссылки
- **ru.stackoverflow.com:**
[Подключение нескольких устройств по SPI Arduino](https://ru.stackoverflow.com/questions/1017515/Подключение-нескольких-устройств-по-spi-arduino)