• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Node mcu V3 SPI

IgFil

New member
Объясните пожалуйста можно ли использовать шину SPI, а не HSPI? Просто эта шина используется так же flash памятью, но на шину SPI можно повесть несколько устройств.
 

enjoynering

Well-known member
У ESP8266 две spi шины. Одна занята флешкой, с которой читается и загружается ваш скетч. Вторая полностью свободна. Любая шина spi устроена так, что к ней можно подключить 100500 ведомых (slave) устройств. Для этого существует пин CS - он для каждого из slave свой. Те если у вас 100500 ведомых, то mosi, miso, sclk у всех общий и 100500 разных cs. Например, подавая высокий уровень на cs на slave #5 вы активируйте общение с 5 ведомым и тд.

Поэтому особой надобности использовать первую spi шину у ESP8266 нету. Но если очень хочется освободить побольше пинов и использовать пины от второго spi для чего-то другого, то в ардуино есть функция которая позволяет подключить ваши slave к первой spi - называется эта функция spi overlap. Задействовать её очень просто - сразу после spi.begin, надо вызвать spi.pins() и прописать пины от первой spi.
 

IgFil

New member
У ESP8266 две spi шины. Одна занята флешкой, с которой читается и загружается ваш скетч. Вторая полностью свободна. Любая шина spi устроена так, что к ней можно подключить 100500 ведомых (slave) устройств. Для этого существует пин CS - он для каждого из slave свой. Те если у вас 100500 ведомых, то mosi, miso, sclk у всех общий и 100500 разных cs. Например, подавая высокий уровень на cs на slave #5 вы активируйте общение с 5 ведомым и тд.

Поэтому особой надобности использовать первую spi шину у ESP8266 нету. Но если очень хочется освободить побольше пинов и использовать пины от второго spi для чего-то другого, то в ардуино есть функция которая позволяет подключить ваши slave к первой spi - называется эта функция spi overlap. Задействовать её очень просто - сразу после spi.begin, надо вызвать spi.pins() и прописать пины от первой spi.
pin SC[SDCMD, GPIO11] нельзя использовать при этом методе?
 

IgFil

New member
Нашел как подробно это сделать, но теперь вопрос как эти же пины изменить в библиотеке SD? Там по умолчанию указаны пины arduino.
Screenshot_87.jpg
 
Сверху Снизу