Arduino UNO зависает на Serial.println
- Войдите на сайт для отправки комментариев
Пнд, 18/02/2019 - 19:02
Зависает прошивка на вызове Serial.println( "bla bla bla" );
В консоли выводит два первых символа отладочной строки и наглухо виснет
зависание происходит нестабильно. Смена скорости пеердачи данных в порт проблему не решает.
Куда копать - не понимаю?
PS вопрос: вывод в порт асинхронно происходит или нет?
PPS замена Arduino на другую проблему не решает.
Progman - размещайте свои вопросы, пожалуйста, в Песочнице. Им там самое место.
А то как спросите - хоть стой. хоть падай.
По сути вопроса - у меня никогда не было, чтоб ардуина зависиала из-за оператора print. На этом операторе - да, но не из-за него. Понимаете разницу?
Так что либо выкладывайте код, в котором это происходит, либо обсуждать нет смысла.
To TC, переместил в песочницу, прочитайте начало головной темы. Обязательно, чтобы потом не обижаться.
Вопрос решил и ответ не такой уж и очевидный. И дело действительно не в Serial.print, но поскольку единственная известная мне откладка через консоль, то казалось что виснет именно Serial.print
Serial.print и аналогичные имеют асинхронный вывод. В моем случае зависало сильно после вызова Serial.println( "bla bla bla" ); То есть выход из Serial.println не означает окончания вывода текста в консоль. Для меня это неожиданно. Может быть для гуру и очевидный факт.
А зависало у меня в вызове HttpClient.get из-за того что я перемудрил с вызовами sei() / cli() и в итоге millis() возвращала одни и теже значения и таймауты внутри хттп клиента не срабатывали и получался бесконечный цикл если сервер не успевал за стандартный тайминг выдать ответ на запрос.