Как сбросить управление потоком, которое мешает мне читать данные с ESP8266?

У меня есть модуль ESP8266 (например, этот). Я выполнил команду AT+UART_DEF=115200,8,1,0,3, как указано в документации ESP8266 SDK, чтобы изменить скорость передачи моего модуля ESP8266. Похоже, выполнив эту команду, я заблокировал свой ESP, потому что теперь модуль не отвечает ни на одну команду (пробовал скорости 9600, 74880, 115200 бод) и все данные, которые отправляются после сообщений загрузчика на скорости 74880 бод, являются мусором. Последний аргумент приведенной выше команды устанавливает управление потоком на "и RTS, и CTS". (3), но у меня нет этих булавок. Распиновка модуля:

распиновка

Поэтому я полагаю, что на моем ESP я не могу использовать аппаратное управление потоком. (Или я могу?)

Я по-прежнему могу получать сообщения загрузчика, которые отправляются при загрузке со скоростью передачи 74880 бит/с:

ets Jan  8 2013,rst cause:1, boot mode:(3,6)

load 0x40100000, len 6960, room 16 
tail 0
chksum 0x4f
load 0x3ffe8008, len 24, room 8 
tail 0
chksum 0xc6
load 0x3ffe8020, len 3196, room 8 
tail 4
chksum 0x3a
csum 0x3a
user code done

Но все данные, которые отправляются после загрузчика, — мусор: данные

Чтобы уточнить, перед запуском команды AT+UART_DEF я мог получать значимые данные и выполнять команды на скорости 115200 бит/с.

Я не уверен, что проблема связана с командой, которую я запустил, поэтому, пожалуйста, укажите мне, если я ошибаюсь. Согласно документации:

The configuration changes will be saved in the NVS area, and will still be valid when the chip is powered on
again.

Новые настройки UART вместе с настройками управления потоком хранятся в области NVS. Можно ли его сбросить? Или любой другой способ сбросить управление потоком?

Что я пробовал?

Я попытался стереть всю флэш-память модуля с помощью esptool: erase_region 0x0 0x1000000, а затем снова попытался прошить последнюю прошивку AT. Не помогло. Он по-прежнему получает сообщения загрузчика и некоторые мусорные данные.

Как разблокировать ESP? Надеюсь на вашу помощь! Заранее спасибо!

, 👍0

Обсуждение

просьба не размещать картинки текста...добавляйте сам текст, @jsotola

@jsotola, о каких картинках ты говоришь? Картинка мусора данных? Полезно ли публиковать текст этих мусорных данных?, @g00dds


1 ответ


Лучший ответ:

0

Вы не можете заблокировать ESP8266 с помощью программного обеспечения.

Вы можете убедиться в этом, прошив ему другую, очень простую программу, вот так:

#include <Arduino.h>

void setup() {
  Serial.begin(74880);
  delay(1000);
  Serial.println("hello world");
}

loop() {
}

Если для последовательного монитора установлено значение 74880 бит/с, вы должны увидеть сообщения загрузчика, а также одну строку "hello world".

Вы также должны полностью стереть содержимое флэш-чипа, а не только конкретную область.

esptool.py erase_flash

После этого вам нужно будет переустановить прошивку, которую вы пытались запустить.

,