Помогите разобраться с spi шиной

Тема в разделе "ESP8266, ESP32", создана пользователем Бачар Константин, 11 май 2020.

Метки:
  1. Доброго всем дня ... возникла у меня такая задумка на ESP32 WROOM32 подключить SDCard и LCD Nokia5110 ... нашел соответствующие библиотеки и они по отдельности работают ... задачка в том чтобы оба модуля работали при подключении к одной плате контроллера.
    Из теории я знаю что можно подключить несколько ведомых на этой шине и нужно будет только ведомые модули переключать через ChipSelect pin
    что я пытаюсь реализовать.
    Покачто мне не понятно надо для этого один общий объект SPI создать и потом его както подпихиват?
     
  2. Daniil

    Daniil Гуру

    Вы можете создать 2 объекта spi, а cs дергать каждому отдельно.
     
  3. parovoZZ

    parovoZZ Гуру

    Надо понимать идеологию бибилиотекарей - они пишут библиотеки не для того, чтобы начинающим упростить жизнь, а для этого, чтобы продавать товар. Поэтому они пишут библы так, чтобы устройство тупо заработало, а счастливые телепузики тоннами скупали китайские модули.
    Если есть желание цеплять несколько устройств на одну шину, про бибилиотеки придётся забыть. Изучить API на шину SPI, выдернуть из библиотек ключевые функции работы с устройствами и вперед с песнями. Там ничего сложного нет. Просто придётся пару тройку месяцев поизучать материал. Если лень - в китае есть абсолютно всё и готовое. Нового ничего вы придумать не сможете.
     
  4. Попробовал создать два объекта SPI но получается что работает только одно устройство из двух ... может ктото всеже знает как быть ?
     
  5. покопался в библиотеке и увидел что там DC пин для экрана сама библиотека дергает а не SPI...
     
    Daniil нравится это.
  6. вобщем кому интересно то надо этот самый пин DC у LCD переключить на какойто свободный пин потому как он не является частью SPI шины
     
  7. если нужно более подробно описать то спрашивайте тут
     
  8. issaom

    issaom Гуру

    Дык DC PIN расшифровывается как — Data/Command select (выбор режима) - как бы вроде и так понятно что SPI по определению не может этот PIN дергать и подключать его нужно отдельно.....
     
  9. issaom

    issaom Гуру

    Для того чтобы все заработало в 99% случаях достаточно открыть файлы библиотек и в дефайнах переопределить дополнительные пины - и все будет сразу работать без
     
    SergeiL нравится это.
  10. parovoZZ

    parovoZZ Гуру

    Какие могут быть дефайны в библиотеках? Всё дефайны выносятся в юзерский конфигурационный файл. Ах, ну да, ото ж рдуино.
     
  11. issaom

    issaom Гуру

    Код (C++):
    // Pin definition
    #define BUSY_PIN        5
    #define RST_PIN         6
    #define DC_PIN          9
    #define CS_PIN          7
    Например такие
     
    SergeiL нравится это.
  12. issaom

    issaom Гуру

    Вот именно что рдуино и там за полчаса можно сделать то что тебе придется изучать 3 месяца
     
    SergeiL нравится это.
  13. parovoZZ

    parovoZZ Гуру

    Я понимаю, что они такие. Где они лежат? А лежать они должны в файле в папке с ПРОЕКТОМ.

    Не сделаешь. MQQT, USB, RF на одном МК сделаешь? Нет. И изучать придётся