Почему я не могу снизить скорость передачи данных ESP8266 с помощью AT-команд

Я хочу понизить скорость передачи моего ESP для SerialSoftware, но я продолжаю получать ответы «ОШИБКА» на приведенные ниже команды.

Я использую последовательный монитор Arduino Mega и Arduino IDE для команд:

AT+CIOBAUD=9600
AT+UART_DEF=9600,8,1,0,3

Я попробовал AT и пару других команд, они, похоже, работают и возвращаются в порядке.

Я использую код ниже для отправки команд:

SoftwareSerial mySerial(10, 11); // RX, TX

void setup() {

    Serial.begin(9600);
    while (!Serial) {}

    Serial.println("Goodnight moon!");

    mySerial.begin(115200);
    mySerial.println("Hello, world?");
}

void loop() {

    if (mySerial.available()) {
        Serial.write(mySerial.read());
    }

    if (Serial.available()) {
        mySerial.write(Serial.read());
    }
}

person Eic Dafusen    schedule 19.01.2019    source источник
comment
Я не понимаю вопроса. Где в коде вы отправляете AT-команды? А также на каком устройстве работает код, который вы написали? Это Arduino UNO или esp8266?   -  person Nitro    schedule 20.01.2019
comment
жаль, что я забыл о том. Я использую arduino mega и серийный монитор arduino IDE для команд.   -  person Eic Dafusen    schedule 20.01.2019
comment
Вы вводили «AT+CIOBAUD=9600, AT+UART_DEF=9600,8,1,0,3» в последовательный монитор и нажимали ввод, или вы вводили каждую команду по одной?   -  person Nitro    schedule 20.01.2019
comment
я печатал их по одному   -  person Eic Dafusen    schedule 20.01.2019
comment
Вы пытались использовать Serial1, доступный на Arduino mega, вместо серийного номера программного обеспечения?   -  person Nitro    schedule 20.01.2019
comment
ESP перестает реагировать на все ваши команды после того, как вы отправляете любую из команд buad?   -  person Nitro    schedule 20.01.2019
comment
нет, я все еще хорошо понимаю команду AT, и я никогда не слышал о сериале 1, и я сейчас его изучаю   -  person Eic Dafusen    schedule 20.01.2019
comment
вот вам arduino.cc/reference/en/language/functions/ сообщение/сериал   -  person Nitro    schedule 20.01.2019
comment
Спасибо !! . Теперь я могу иметь здоровую связь с моим esp, и мне не нужно снижать скорость передачи esp.   -  person Eic Dafusen    schedule 20.01.2019
comment
Почему вы используете программный серийный номер, если у вас есть 3 других аппаратных последовательных интерфейса?   -  person gre_gor    schedule 21.01.2019


Ответы (1)


Предположения:

  1. Ваш компьютер подключен к Arduino Mega
  2. У вас есть ESP8266, подключенный к последовательным контактам программного обеспечения.
  3. Вы пытаетесь отправить AT-команды на esp через Arduino Mega.

Если мои предположения верны, то это то, что происходит.

Изначально при включении системы скорость передачи ESP8266 по умолчанию установлена ​​на 115200.

Когда вы используете команду AT+CIOBAUD=9600, она временно устанавливается на 9600. Но проблема здесь в том, что серийный номер программного обеспечения на вашем Arduino все еще работает со скоростью 115200 бод.

Это означает, что когда вы отправляете следующую инструкцию AT+UART_DEF=9600,8,1,0,3, Arduino Mega отправляет ее со скоростью 115200 бод, в то время как esp прослушивает скорость 9600 бод.

Решение:
Перейдите по следующей ссылке, чтобы узнать, как навсегда изменить скорость передачи данных ESP8266
https://www.esp8266.com/viewtopic.php?f=13&t=718

Затем используйте текущую настройку, чтобы отправить команду, которую вы нашли в верхней ссылке.

Затем обновите код вашего Arduino Mega, чтобы иметь 9600 в качестве скорости передачи для последовательного программного обеспечения, и больше не отправляйте команды изменения скорости через Mega.

person Nitro    schedule 20.01.2019
comment
Я не думаю, что команды вообще изменили мою скорость передачи данных, потому что они возвращают ОШИБКУ, и я могу использовать команду AT и все в порядке. - person Eic Dafusen; 20.01.2019
comment
Но вы все равно решили мою проблему, предложив порты Serial1, еще раз спасибо - person Eic Dafusen; 20.01.2019