Загрузка ESP12E против SPI
Мне было интересно, как я могу решить следующую проблему;
Мой ESP8266 12E подключен следующим образом:
- Заземление GPIO0, если необходимо для программирования, иначе vcc
- GPIO2 vcc
- Заземление GPIO15
Режимы загрузки объясняются на этой схеме
Я также хочу подключить MCP3002 к своему ESP. Однако для использования SPI мне также нужно, чтобы контакт GPIO15 был подключен к контакту выбора микросхемы.
подключения MCP описаны в этой статье
Я попытался подключить контакт GPIO15 от ESP к контакту CS на MCP3002 и подключить землю между ними. Это не сработало, должен ли я как-то переключать/удалять землю после загрузки? (Или я должен подключить его по-другому?)
@Revils, 👍0
1 ответ
Лучший ответ:
IO 15 — это SS, если esp8266 — подчиненный. Если esp8266 является мастером SPI, вы можете выбрать любой свободный контакт в качестве CS ведомого устройства.
В примерах библиотеки SPISlave для плат arduino esp8266 есть решение для ведущего, если esp8266 является подчиненным.
Состояние загрузочных контактов требуется только при загрузке. Вы должны подключить контакты загрузки через резистор 10 кОм, чтобы создать подтягивание/подтягивание, которое может быть переопределено состоянием выхода вывода, чтобы использовать выводы для устройств, которые в порядке или нуждаются в подтягивании или подтягивании, например мгновенные переключатели (кнопки).
- Может ли ESP-1 использовать SPI для связи с датчиками?
- Arduino/ESP8266 нет данных SPI, поступающих от MCP3008
- Загрузить сайт с SD-карты
- Можно ли подключить много (20+) датчиков SPI к Arduino Mega?
- ESP32-CAM не читает BME680
- Два интерфейса SD-карты на одном ESP8266?
- ESP8266 с экраном RTC DS1307 - Экран WS2818B не мигает - проблема с I2C?
- ESP32 WROOM 32 Проблемы с SPI EMF
Я полагаю, что мой ESP8266 является ведущим, а мой MCP3002 — ведомым? Это означает, что я могу подключить MCP3002 CS к любому другому доступному выводу ESP8266?, @Revils
Спасибо, сегодня вечером попробую и отпишусь, что получилось!, @Revils
библиотеки, которые вы используете, устарели, и я не вижу, как изменить пин-код CS. Я бы попробовал использовать другую библиотеку Arduino MCP3002 со стандартной библиотекой SPI пакета плат esp8266., @Juraj
Я понятия не имею, о чем вы говорите. Этот вопрос касается проводных подключений и не имеет ничего общего с библиотеками. Ссылки являются только ссылкой для проводов, а не для библиотек вообще, .., @Revils
статья во второй ссылке имеет ссылку на библиотеки, @Juraj
Спасибо! Работает как шарм =). Можете ли вы также дать дополнительную информацию / справочную информацию о том, почему я могу использовать любой пин, а не только пин CS?, @Revils
SPI - это шина. на мастере вам нужно столько пинов CS пинов, сколько устройств вы к нему подключаете. эти контакты CS обрабатываются не периферийным устройством SPI микроконтроллера, а библиотекой. если периферийное устройство SPI микроконтроллера находится в подчиненном режиме, оно должно использовать выделенный контакт. это верно для микроконтроллеров ATmega и для esp8266. но некоторые другие MCU могут сопоставлять разные контакты с периферийными устройствами. и, как другое исключение, периферийное устройство SPI на esp8266 имеет странный режим перекрытия SPI, который может использовать только выделенные контакты CS в ведущем режиме для совместного использования с другими устройствами интерфейса SPI, выделенного для флэш-памяти., @Juraj