esp8266 пропускает данные

fora983
Offline
Зарегистрирован: 10.09.2016

пытаюсь написать программы для обмена данными между двумя модулями esp8266. столкнулся с такой проблемой пропускает прием. может 2 или 3 сеанса передачи пропустить. все как по учебнику. но что не так. пропускает при любой задержки между передачами.

 

void loop(){    
    int packetSize = Udp.parsePacket();
    if (packetSize) {
    int len = Udp.read(packetBuffer, 255);
    if (len > 0) {
      packetBuffer[len] = 0;
    }
    Serial.print("Contents:");
    Serial.println(packetBuffer);
    Udp.endPacket();  
   }
 
}

 

negavoid
Offline
Зарегистрирован: 09.07.2016

По учебнику - это по вот этому? https://arduino-esp8266.readthedocs.io/en/latest/esp8266wifi/udp-examples.html

Пока что, мой хрустальный шар показывает, что пропускает оно udp пакеты просто потому, что может, по спецификации. А ещё, может потому, что их много пришло, буфер esp переполнился, и udp.parsePacket берёт самый последний, лень лезть внутрь. Хотя, в домашних условиях обычно такого не возникает, но мы ваши условия-то не знаем, просто скопипастенный кусок кода, который, если его собрать и проверить потом с помощью packet sender с той же страницы "учебника", работает безо всяких пропусков.

fora983
Offline
Зарегистрирован: 10.09.2016

проверял программой «Отправитель пакетов». подключаюсь пытаюсь отправить к примеру раз в 2-3 сек. и пропуски идут приема данных. попытка отправить три символа  111