NodeMCU ESP8266

Я делаю проект и использую NodeMCU ESP8266. Мой проект включает в себя датчики для UART, I2C и 4 прерывания. Мне нужно считать данные с этих датчиков и получить эти данные через microUSB в режиме реального времени. При чтении про NodeMCU ESP8266 так много моментов натолкнулось и возникли определенные вопросы.

  1. Всегда ли флэш-память использует GPIO6-11? Можем ли мы использовать любой из этих контактов для нашей цели? Что делать, если кому-то нужна связь SPI, так как эти контакты заблокированы флэш-памятью.
  2. Могу ли я использовать GPIO-0 (flash pin) для своих целей, так как после прошивки MCU пин освободится.
  3. Использует ли CP2102 GPIO 1 и GPIO 3? Могу ли я использовать эти выводы в своих целях? (Учитывая, что мне нужны данные через USB, которые, я думаю, поступают через CP2102)
  4. Могу ли я получать данные датчика по шине SoftUART и передавать эти данные на свой компьютер через USB?

Меня смущают статьи, размещенные в Интернете. Я прошу, если кто-нибудь знает, как это работает, пожалуйста, объясните.

Спасибо

, 👍0

Обсуждение

Связано с первым вопросом: https://arduinoprosto.ru/q/76091/why-do-esp-boards-break-out-the-spi-flash-pins, @chrisl

#3+4: если вы отправляете данные только на USB, для этого вам не нужен RX, только TX., @dandavis


1 ответ


1

Всегда ли флэш-память использует GPIO6-11? Можем ли мы использовать любой из этих контактов для нашей цели? Что делать, если кому-то нужна связь SPI, так как эти контакты заблокированы флэш-памятью.

Это Quad SPI. Выводы CS для этого интерфейса SPI управляются низкоуровневым кодом. Таким образом, вы не можете использовать эти контакты в качестве GPIO, и они также имеют ограниченное использование в качестве SPI. Если для доступа к флэш-памяти установлен обычный SPI, два контакта io 9 и io 10, используемые для четырехъядерного режима, могут использоваться как GPIO.

Могу ли я использовать GPIO-0 (flash pin) для своих целей, так как после прошивки MCU пин освободится.

Вы можете использовать io 0 как GPIO. Только убедитесь, что он ВЫСОКИЙ при загрузке. Загрузчик считывает его при загрузке, чтобы определить, должен ли он перейти в режим прошивки. Другими контактами конфигурации загрузки являются io 2, он должен быть ВЫСОКИМ при загрузке и io 15, который должен быть НИЗКИМ при загрузке.

Использует ли CP2102 GPIO 1 и GPIO 3? Могу ли я использовать эти выводы в своих целях? (Учитывая, что мне нужны данные через USB, которые, я думаю, поступают через CP2102)

Контакты io 1 и io 3 подключены к микросхеме USB и используются для последовательного подключения. Их можно использовать как контакты ввода-вывода, если вам не нужна последовательная связь через них. Серийный порт в esp8266 Arduino может быть заменен другим набором контактов для использования с последовательным устройством. Для печати вывода вы можете использовать Serial1, который имеет только TX. Чтобы переключить этот выход на USB, соедините io 2 (Serial1 TX) и io 4 (Serial TX, подключенный к USB).

Могу ли я получать данные датчика по шине SoftUART и передавать эти данные на свой компьютер через USB?

Вы можете использовать SoftwareSerail или описанный выше прием.

см. контакты NodeMCU

,