NodeMCU ESP8266
Я делаю проект и использую NodeMCU ESP8266. Мой проект включает в себя датчики для UART, I2C и 4 прерывания. Мне нужно считать данные с этих датчиков и получить эти данные через microUSB в режиме реального времени. При чтении про NodeMCU ESP8266 так много моментов натолкнулось и возникли определенные вопросы.
- Всегда ли флэш-память использует GPIO6-11? Можем ли мы использовать любой из этих контактов для нашей цели? Что делать, если кому-то нужна связь SPI, так как эти контакты заблокированы флэш-памятью.
- Могу ли я использовать GPIO-0 (flash pin) для своих целей, так как после прошивки MCU пин освободится.
- Использует ли CP2102 GPIO 1 и GPIO 3? Могу ли я использовать эти выводы в своих целях? (Учитывая, что мне нужны данные через USB, которые, я думаю, поступают через CP2102)
- Могу ли я получать данные датчика по шине SoftUART и передавать эти данные на свой компьютер через USB?
Меня смущают статьи, размещенные в Интернете. Я прошу, если кто-нибудь знает, как это работает, пожалуйста, объясните.
Спасибо
@Anirudh garg, 👍0
Обсуждение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
- NodeMCU - Vin контакт как выход 5V?
- NodeMCU - использовать кнопку flash в качестве входного сигнала в loop()
- Какие входные контакты я могу использовать на ESP8266 NodeMCU
- INPUT_PULLUP не работает для D8 в моем NodeMCU v3
- Можно ли запитать ESP8266E-12 любым из контактов 3,3 В?
- Почему платы ESP ломают контакты флэш-памяти SPI?
- NodeMCU v2 с датчиком CO2 MH-Z19B Проблема чтения UART
- Обнаружение прерывания питания на NodeMCU
Связано с первым вопросом: https://arduinoprosto.ru/q/76091/why-do-esp-boards-break-out-the-spi-flash-pins, @chrisl
#3+4: если вы отправляете данные только на USB, для этого вам не нужен RX, только TX., @dandavis