Модуль ESP8266 не отвечает на команды и отправляет мусор в последовательный порт при загрузке
Я купил модуль ESP8266 (например, этот). Я подключил модуль примерно по следующей схеме:
Я использую преобразователь USB в TTL (cp2102), который я подключил к контактам RX и TX модуля. Оно работает. Он успешно передает данные в обоих направлениях, когда я тестирую его с MCU. Я часто использую его для отправки отладочных сообщений на мой компьютер с MCU.
Я использую Linux и CuteCom в качестве программы для мониторинга данных, отправляемых через последовательный порт.
Подаю на модуль 3,3В (как требует производитель) от преобразователя cp2102 (у него выходы и 5В и 3,3В).
Проблема
Модуль не отвечает ни на одну команду, которую я ему отправляю (AT, AT+GMR, AT+RST, ATE0 и т. д.). Но он отправляет на ПК некоторые данные при загрузке (когда я подключаю Vcc к CP_PD). Большая часть данных выглядит как мусор, но в самом конце я получаю значимые данные:
Ai-Thinker Technology Co.,Ltd.
invalid
Скорость передачи 115200 бод. Без четности, 8-битные символы, 1 стоповый бит. Полный вывод из CuteCom:
Красный светодиод на модуле всегда горит при подаче питания. Во время процесса загрузки (примерно первые 500 миллисекунд) также несколько раз мигает синий светодиод (вероятно, из-за отправки этих в основном мусорных данных на ПК, о котором я упоминал ранее).
Что я пробовал?
Я экспериментировал с резистором R1, пробовал: без резистора, 1к, 3к, 10к. Я также пробовал другие скорости передачи (1200, 2400, 4800, 9600, 19200, 38400, 57600). И попытался использовать все типы четности, 2 стоповых бита и другие длины символов. Ничего не помогло.
Почему модуль не отвечает ни на одну команду? Надеюсь на вашу помощь! Заранее спасибо!
@g00dds, 👍1
1 ответ
Лучший ответ:
загрузчик ESP8266 выводит сообщения со скоростью 74880 бит в секунду. На других скоростях сообщения загрузчика будут выглядеть как мусор. Установите скорость вашего терминала на 74880, чтобы увидеть их.
На ESP8266 может быть полезно также использовать 74880 бит в секунду для скорости Serial
в вашей программе, чтобы вы могли легко видеть как выходные данные вашей программы, так и информацию о загрузчике, когда ваша программа дает сбой. .
- HLW8032 UART отправляет случайные данные (регистры часто переполняются)
- Как связаться между Arduino Uno и ESP8266 через последовательные порты TX/RX?
- AT-команда не отвечает на последовательный монитор
- В чем разница между библиотеками Software Serial? Какая из них совместима с Arduino Nano?
- Последовательная связь между ESP8266 и Arduino Uno
- Как использовать Serial.setTimeout()
- Отправить структуру через Serial
- Последовательная связь ESP8266 с ATMega328P