• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Нужна помощь Странности software serial

ETUN4

New member
Всем привет.
Вот таким кодом прошил esp-01.
Код:
#include <SoftwareSerial.h>

//rx tx
SoftwareSerial s1(2, 0, false, 256); //soft
SoftwareSerial s2(3, 1, false, 256); //hard

String data = "";

void setup() {
  s1.begin(9600);
  s2.begin(9600);

  s1.println("\nSoftware test");
  s2.println("\nHardware test");
}

void loop() {
  data = "";
  while (s1.available() > 0) {
    char incomingData = s1.read();
    data = data + (incomingData);
  }
  if (data.length() > 0) {
    s2.print(data);
  }

  data = "";
  while (s2.available() > 0) {
    char incomingData = s2.read();
    data = data + (incomingData);
  }
  if (data.length() > 0) {
    s1.print(data);
  } 
 
}
Немного поясню о пинах.
gpio2 и gpio0 - пины свободного назначения.
gpio3 и gpio1 - те, что используются для "железного" uart.

Подключил к компу через два ttl преобразователя. Открываю два монитора портов.
Когда отправляю строку "I am communicating with ESP8266 using Software Serial" с s1 к s2 все приходит к s2 правильно, из 10 строк ни одной ошибки. А вот когда отправляю из s2 к s1 ту же строку то приходит что-то похожее на:
I am nicating with ESP8266 using Software Serial
I aomncangith ESP8266 using Software Serial
I aomunicatiES26usgSowarerial
I aomunicating with ESP8266 using Software Serial
I aomucan wh P86 usSofre eal
I cmnicngih P86usg ftare SerI aomuntngih P86 ing Software Serial
I aomunicaitES26 ing Software Serial
I aommcatiith ESP8266 using Software Serial
I aommunicating with ESP8266 using Software Serial
I aomucatiith ESP8266 using Software Serial
I ammnitngitEP86 using Software Serial
А если я подключу к gpio2 и gpio0 какое-то другое устройство он такие же данные будет получать? На других версиях esp такие же самые проблемы?
 

ETUN4

New member
Собственно зачем это делаю. Мне нужно несколько устройств подсоединить к esp8266, сейчас есть только плата esp-01, уже заказал node mcu, не уже ли на нём так же будет?
 
Сверху Снизу