общение esp8266 и arduino nano

fsdb
Offline
Зарегистрирован: 24.10.2015

В общем соединил проводами rx  tx в перехлест  esp8266 и arduino nano . выставил скорость 115200

И когда отправляю с esp в arduino nano то часть данных не принимает arduino nano. пробывал задержки ставить и через millis() и через delay. все равно недопринимает данные. если опускать согласование логики. в чем еще может быть проблемка? 



String SerialBuff="";

while(Serial.available()) {
while(Serial.available()) {
while(Serial.available()) {

char c = Serial.read(); 
SerialBuff+=c;

if (SerialBuff.length()>200) {SerialBuff="";}
}
delay(10);
}
delay(100);
}

 

b707
Онлайн
Зарегистрирован: 26.05.2017

и что этот кусок кода делает? Где тут работа со строкой?

Приведите такой пример, который можно было бы запустить - то есть с setup и loop и всем остальным

fsdb
Offline
Зарегистрирован: 24.10.2015

в esp просто serial.print("eeeeeeeeeeeeeee");

выше кусок кода это принимающая часть в нано. и я не пойму почему могут теряться данные. там же вроде аппаратный порт и буфер должен быть что бы ничего не терялось. не пойму

b707
Онлайн
Зарегистрирован: 26.05.2017

fsdb пишет:

выше кусок кода это принимающая часть в нано

это не принимающая часть - а непонятно что. Как этот обрывок кода можно обсуждать, если тут с принимаемыми данными ничего не происходит? Любой буфер имеет размер, выше которого он начинает терять данные, если их вовремя оттуда не забирать. А в вашем коде ничего подобного нет.

Densl
Offline
Зарегистрирован: 28.11.2018

В String пихать char не хорошо. Ну и задержки какие-то громадные. Там грубо говоря больше 100 мкс для скорости 115200 можно не ставить.