Доброго времени суток! Работая с Nodemcu столкнулся с проблемой использования второго SPI модуля. Прикладываю изображение... У меня в наличии вариант который справа. В общем в чём заключается проблема?! Есть два(усилитель термопары и SD модуль) устройства, которые нужно подключить к NodeMcu по SPI интерфейсу. Стандартный(с которым работают все библиотеки) подключается через пины GPIO12-GPIO15. Дополнительный SPI задействует пины "CLK", "SD0", "CMD", "SD1" (те же что и используются для подключения SDIO интерфейса). Не могу понять как можно завести на них SD-модуль??? Большинство примеров с использование всего одного SPI, так как в Arduino(если я не ошибаюсь) всего 1 SPI, я подумал что с этим никто не заморачивался... А примеров, критичиски мало толковых клиентов
А зачем несколько SPI интерфейсов? На всё хватит и одного. Линии SCLK, MOSI, MISO общие для всех устройств. А вот SS тяните к каждому модулю свою. Почитайте теорию http://robocraft.ru/blog/arduino/518.html
Уважаемые) Спасибо за предоставленую мат часть, которую я изучил уже более года назад. Имея опыт подключения различных контроллеров серии STM32(F103, F446, F767...) к различными устройствам(датчики, Eeprom, FPGA) по различным интерфейсам I2C, SPI, UART, CAN. И также я в курсе что в таких интерфейсах как: SPI(на каждое устройство свой CHIP_SELECT), I2C (у каждого устройства свой адрес), UART(ну тут использую линию связи RS-485, и уже сам разруливаю колличество устройв на шине пиляя свой протокол или использую Modbus) можно использовать несколько устройств на шине. Да я понимаю что возможно недостаточно точно выразил свой вопрос, но хотел спросить может кто-то реализовывал с помощью Arduino библиотек подтяжку второго SPI модуля? Который судя по схемам(также на фото выше) пристуствует в NodeMcu. P.S. Использую второй интерфейс потому что у человека в другом городе уже собран готовый макет в который не так просто подключится на шину первого модуля. Но уже заранне подключены выводы под второй модуль. Просто я не думал что будет какой-то проблемой в плане программного кода, так как аппаратная часть работает(SD модуль)
Находил примеры с подтяжкой второго SPI на Lua. Но это не подходит так как 90% проекта уже реализовано на Arduino либах
Есть ещё идея сделать такую же либу как SPI.h, только сделать remap пинов с GPIO12-GPIO15, на соответсвующии им "CLK", "SD0", "CMD", "SD1". Ещё не проверял, но думаю не прокатит. К примеру на STM'ке пришлось настроить пины на альтернативную функцию, а уже затем ремапить Такие трудности возникли из-за моего первого опыта с ESP, поэтому прошу Embedded девелоперов подкинуть любой help который мог бы мне помочь с настройкой второго SPI модуля на этой чудо плате))
Если Вы знаете матчасть, то тогда собака может быть зарыта в разной реализации шины у тех двух устройств, которые вы пытаетесь на нее повесить. Я бы копал в эту сторону.
ok, если удасться решить эту проблему без быстрой подстановки костылей (есть вариант подкинуть Nano к ней Sd модуль и на нее валить данные по UART, но это не то... это костыли мать вашу) обязательно отпишу - чтоб другие знали как её решить в дальнейшем