Несколько девайсов претендуют на единственную линию MISO. Как быть?

Тема в разделе "Arduino & Shields", создана пользователем Maris, 4 дек 2018.

  1. Maris

    Maris Нерд

    Привет!
    В моём проекте я нуждаюсь в подключении множества датчиков и пересылки данных безпроводным способом.
    Не проблема подключить и обслужить 64 геркона к Arduino NANO через Shift-in 74HC165 по MISO (не нашёл в интернете способа иначе как MISO).
    Не проблема подключить модуль nRF24L01 к NANO - но тоже по тамому MISO (также ненашёл другого способа ).
    А вместе?
    Как бы решил проблему.К одному Нано подключил плату с восми 74HC165, к другому nRF24L01 модуль, а оба вместе по сериал.
    Как бы есть библиотека bitBangedSPI ,но Arduino как бы её не признали( или руки кривые) а мне с ней подружится(тобиш разобрать на куски) неудалось .

    Кто ни будь решал такую проблему(а может вовсе ерунда)?
     
  2. На обоих устройствах есть специальный пин, который деактивирует SPI-связь. На nrf24 это csn, на регистре не помню, но тоже есть.
     
  3. Maris

    Maris Нерд

    Тоесть..подключить оба деваиса к одному пину , в реале их таких даже три 11 и 12 и 13, к которому как раз csn и подключеется...как то не понял
     
  4. Belkin

    Belkin Гик

    Почитайте про SPI http://www.gaw.ru/html.cgi/txt/interface/spi/index.htm.
    В этом протоколе ведущий обращается к ведомому, используя линию SS (CS).
    Если ведомых несколько, то и линий SS должно быть по их количеству.
    Остальные линии соединяются параллельно.

    Вы же пытаетесь на один SS приткнуть несколько ведомых...
     
  5. Maris

    Maris Нерд

    Ещё непытался ;-0 ..хочу..но пока не понял как.Вот и спрашываю;-)
     
  6. Maris

    Maris Нерд

    От каждого деваиса SCN к разным пинам а MISO,MOSI и CK паралельно? Врубил CSN одного и подключаися,вырубил его, врубил второго и обращайся? Так?
     
  7. Да
     
  8. Maris

    Maris Нерд

    ОК будем пробовать.Спасибо.
     
  9. Maris

    Maris Нерд

    Какой придурок писал библиотеку Shiftin для 74HC165 которую я расчленил для написания своего кода.Он повесил входы чипа на 12(мисо) ,11(моси) пины.А чип прекрасно работает с любых других пинов.Итого проблему решил. nRF24L01 прекрасно работает с SPI пинов а 74HC165 читает сенсоры с обычних .
     
  10. parovoZZ

    parovoZZ Гуру

    так зачем ей пользуешься?
     
  11. Maris

    Maris Нерд

    Так не библиотекой...;-) просто легче изменить под себя уже написанный код
     
  12. parovoZZ

    parovoZZ Гуру

    Ну spi банально проще в работе. Число загнал, дернул пуск и ушёл по своим делам)))
     
  13. b707

    b707 Гуру

    прежде чем ругать чужой код - сначала бы разобрались. Пины ShiftIn можно перебросить на любые другие контакты ардуино - это предусмотрено в библиотеке.
    Ну и судя по тому, что вам пришлось менять пины - как работает SPI вы разобраться таки не осилили...