реклама на сайте
подробности

 
 
> FreeRTOS + LwIP + PPP Как правильно переинициализировать соединение
=F8=
сообщение Jul 19 2013, 11:36
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 567
Регистрация: 7-07-07
Из: Донецк
Пользователь №: 28 954



Есть девайс с LPC2148 + GSM модуль. На девайсе используется связка FreeRTOS + IwIP + PPP(который входит в IwIP).
Столкнулся с проблемой при переинициализации PPP соединения, для простоты опишу порядок действий:

tcpip_init();

while(1){
Включаю и инициализирую gsm модуль.

pppInit(); Инициализирую соединение
pppSetAuth(); Устанавливаю параметры авторизации
pppOverSerialOpen(); Поднимаю соединение pppOverSerialOpen

Затем создаю и затем открываю серверное соединение;
netconn_new();
netconn_bind();
netconn_listen();

Жду входящего соединения;
if(netconn_accept() == ERR_OK)
{
Принимаю входящее соединение, начинаю передавать данные от мк компу,
и в этот момент откручиваю антенну от модуля, через 5-10 сек мк понимает что регистрация в сети потеряна.
После чего закрываю дочернее соединение.
netconn_delete(conn);
}
И затем серверное
netconn_delete(srv_conn);
И затем ppp
pppClose()

}

Так, вот на следующем цикле при выполнении netconn_bind получаю ответ ERR_USE. Если подождать около 90 сек то на следующий вызов netconn_bind получаю ответ ERR_OK. Т.е. такое впечатление, что lwip пытается передать непереданные пакеты из буфера, хотя соединение уже закрыто.
Есть ли какой-то способ полностью переинициализировать стек? Просто ждать крайне нежелательно...
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 31st July 2025 - 12:31
Рейтинг@Mail.ru


Страница сгенерированна за 0.01347 секунд с 7
ELECTRONIX ©2004-2016