Потеря данных через UART ESP8266 Nodemcu ->NEXTION

На этом форуме Вы можете задать вопросы знатокам программы и автору.
Ответить
stigmat1996
Рядовой
Сообщения: 45
Зарегистрирован: 02 май 2019, 20:37
Имя: Юрий

Потеря данных через UART ESP8266 Nodemcu ->NEXTION

Сообщение stigmat1996 »

У меня большой проект для МК и экрана, поэтому при использовании стандартных блоков для работы с Нехтион были большие тормоза 5-20сек, однако все данные доходили.

Решил использовать стандартные блоки для приема с Юарт + два пользовательские блоки для отправки переменной и включения таймера. Делал по этому видео
https://www.youtube.com/watch?v=FiLk0AsC_HI&lc=

Все нормально работает, пока не надо отправить и принимать большее количество данных - данные просто теряются. Уже пробовал с Некстион дублировать при отправке, однако это не помогло. При получении данных с Юарт, выдерживается пауза 10мс, пробовал ставить и 200мс - тоже не помогло.

При отправке с Некстион в дебаггере эмулятора все хорошо.

Как сделать так, чтобы данные не терялись? От чего это зависит?

Использую физический UART, FlProg 5.3.0, Nextion Editor V0.58

В Некстион:
Touch event: print "rele1"
Touch realese event: tm0.en=1
print "rele1"


Блок для відправки змінної на Некстион:
if(send==1)
{
Serial.print((String)name+"=\""+data+"\""+char(255)+char(255)+char(255));
}
edyapd
Капитан
Сообщения: 768
Зарегистрирован: 20 сен 2019, 11:38
Имя: Эдуард

Потеря данных через UART ESP8266 Nodemcu ->NEXTION

Сообщение edyapd »

С Nextion не работал, не знаю, что это такое. Но, в видео проскользнула такая фраза "Буфер очищается по заполнению" (не дословно, но как-то так).
Так может быть в этом собака порылась?
stigmat1996
Рядовой
Сообщения: 45
Зарегистрирован: 02 май 2019, 20:37
Имя: Юрий

Потеря данных через UART ESP8266 Nodemcu ->NEXTION

Сообщение stigmat1996 »

У меня есть страница где нужно ввести данные вайфай и после нажатия кнопки запускается таймер, который шлет поочередно данные с частотой 400мс, чтобы норм принялось. Затем он запускает еще один таймер, который каждые 10 сек запускает первый таймер, до того момента, пока ЕСП не подключится к вайфай и пришлет команду на переход на другую страницу.

Возможно проблема и в буфере, я не знаю как с этим бороться. :smile113:
Brand2
Лейтенант
Сообщения: 450
Зарегистрирован: 26 фев 2018, 21:27
Откуда: Haifa
Имя: Alex
Благодарил (а): 2 раза
Поблагодарили: 5 раз

Потеря данных через UART ESP8266 Nodemcu ->NEXTION

Сообщение Brand2 »

[ref]stigmat1996[/ref], Выложите проект Nextion и FLPROG сюда,тогда можно и разбираться а не гадать как и что у Вас там.
Аватара пользователя
grin-mpx
Лейтенант
Сообщения: 477
Зарегистрирован: 17 июл 2017, 18:39
Откуда: Днепр. UA
Имя: Григорий

Потеря данных через UART ESP8266 Nodemcu ->NEXTION

Сообщение grin-mpx »

stigmat1996 писал(а): 23 ноя 2019, 17:10 У меня есть страница где нужно ввести данные вайфай и после нажатия кнопки запускается таймер, который шлет поочередно данные с частотой 400мс, чтобы норм принялось.
Я думаю это изначально тупиковое направление, отправлять с дисплея данные при отсутствии информации что там происходит в контроллере и чем он в данный момент занят. Лучший вариант писать данные в переменные на дисплее, а контроллером уже их опрашивать, причем по условию, например при нажатии кнопки СОХРАНИТЬ.
И вообще, у меня правило такое: контроллер спросил-дисплей ответил, контроллер сказал-дисплей сделал.
При этом контроллер постоянно следит на какой странице дисплей, была ли изменена переменная отвечающая за кнопки и пр. и только конкретно на этой странице .
ShishkaRoman
Рядовой
Сообщения: 44
Зарегистрирован: 18 июн 2020, 11:36
Имя: Roman

Потеря данных через UART ESP8266 Nodemcu ->NEXTION

Сообщение ShishkaRoman »

stigmat1996 писал(а): 23 ноя 2019, 16:16S
Можете викласти власні блоки. Я щось не можу їх зібрати
Ответить

Вернуться в «Спросить у знатоков»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей