Как соединить два устройства spi с помощью arduino

Тема в разделе "Arduino & Shields", создана пользователем martin1987, 16 июл 2021.

Метки:
  1. martin1987

    martin1987 Нерд

    Я хочу использовать arduino+nrf24l01+enc28j60 для создания простого шлюза, nrf24l01 принимает сигналы, а enc28j60 передает их в LAN, но проблема в том, что и nrf24l01 и enc28j60 используют протокол SPI для взаимодействия с arduino, если я хочу использовать собственные lib разработки arduino, я могу выбрать только один из nrf24l01 и enc28j60, потому что они имеют общее определение (pins_arduino.h).
    Код (C++):
    static const uint8_t SS = 10;
    static const uint8_t MOSI = 11;
    static const uint8_t MISO = 12;
    static const uint8_t SCK = 13
    Итак, решение состоит в том, чтобы выбрать nrf24l01 не для использования lib разработки, которая поставляется с arduino, а для использования другого IO порта, чтобы разработать его самостоятельно, правильно ли это?
     
  2. b707

    b707 Гуру

    martin1987

    прежде чем изобретать велосипед, почитайте как работает шина SPI. К одним и тем же пинам SPI можно подключить множество устройств, надо только пин SS отвести каждому девайсу свой

    А еще. вы уже третий раз за последние 2 дня демонстрируете полное незнание азов. Мой вам совет - отложите свои проектики и прочтите какую-нибудь книжку из серии "ардуино для чайников". Нельзя строить самолеты. не зная даже таблицы умножения... а это про вас.
     
    martin1987 и Igor68 нравится это.
  3. parovoZZ

    parovoZZ Гуру

    SPI - это не протокол.

    на фоне следующего утверждения, данное желание выглядит как трёп:
    чтобы сперва изучить интерфейс SPI, для чего он создан, как устроен и как с ним работать. Попутно изучить прерывания. А уже потом браться за столь не простые проекты.
     
    martin1987 и Igor68 нравится это.
  4. martin1987

    martin1987 Нерд

    Хорошо, спасибо за совет!
     
  5. martin1987

    martin1987 Нерд

    Да, спасибо!