Перейти к содержанию
    

LwIP обработка ошибок

Доброго времени суток.

В приложении (FreeRTOS + LwIP) обрабатываю TCP/Modbus. Сделал несколько коннектов. Неблокирующее соединение + callback функция.

Всё работает, пока всё корректно. Бывает, что при некорректном закрытии соединения (например вис сервера) у меня в callback функцию возвращается ошибка. Что с ней делать - ума не приложу. Глубоко стек копать не могу. У меня ещё, кроме того, если остановку проца в дебаге делаю, то ethernet отваливается.

Пытаюсь закрыть соединение, но lwip возвращает ошибку (ERR_VAL -6 /* Illegal value.*/). Порывшись - вижу что pcb = 0, отсюда и ошибка.

Собственно вопрос состоит в том, как обработать ошибку, чтобы я смог закрыть коннект и освободить память.

Кто сталкивался?

post-11521-1504102489_thumb.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Давайте упрощу вопрос. :rolleyes:

Вот здесь http://www.ecoscentric.com/ecospro/doc/htm...h-callback.html вижу, что в событие NETCONN_EVT_RCVPLUS с длиной 0 приходят разные события... и ошибки, открытие и закрытие соединений. Открытие я определяю, так как идёт обращение к коннекту сервера. А как определить закрытие соединения? Кто подскажет?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня ещё, кроме того, если остановку проца в дебаге делаю, то ethernet отваливается.

 

У меня в дебаге на раз пятый отваливается. Кто-нибудь победил? Процессор STM32F767

Пример взял для Stm32 из freemodbus 1.9 evalution version с сайта https://www.embedded-solutions.at. С версией 1.5 все работало не стабильно, непонятные ошибки с PBUF в LWIP и так далее

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...