pvvx
Активный участник сообщества
Открываете RTOS и читаете. Вникаете и получаете, что если за время остановки в 10 секунд, придут новые пакеты, то xQueue заполняется т.к. не вызывается xQueueReceive в треде, который вы остановили на 10 сек. Вся обработка входящих пакетов останавливается. Вам уже указал, что данное xQueue (mbox) может обрабатываться другими тредами, при условии изменения конфигурации LwIP и дописывания специальных макросов. Но это может только частично помочь в вашей задаче, которую вы пока решаете через зад – получения всегда последнего пришедшего пакета UDP и длительная его обработка, с пропуском приходящих за время обработки.Поясните пожалуйста всем, как так у вас vTaskDelay(10000) блокирует xQueue?
Ещё раз – что будет, если в прерывание приема символов от UART вставить vTaskDelay(10000) ? Это совершенно аналогичная ситуация, того, что вы делетае.
Дальнейший разбор не имеет смысла - уже показано, что это для вас пока бесполезно. Изучите RTOS и программирование...