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

 
 
> STM32F207+FreeRTOS+LwIP Как правильно закрыть соединение?
=F8=
сообщение Dec 13 2011, 11:26
Сообщение #1


Знающий
****

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



Девайс работает как сервер. После того как от netconn_accept будет получено новое соединение создаю 2 потока один для чтения, другой для записи. Читаю вот так:
Код
void СE2ComRead::СThread()
{
    struct netbuf *buf;
    while((!TerminateFlag)&&((buf = netconn_recv(Conn)) != NULL))
    {
        do{
            char *p_data;
            u16_t len;

            if(netbuf_data(buf, (void**)&p_data, &len) == ERR_OK)
            {
                if(pPort->Write(p_data, len, 2000) != len)
                {
                    TerminateFlag = 1;
                }
                if(TerminateFlag)break;
            }
        }while(netbuf_next(buf) >= 0);
        netbuf_delete(buf);
    }
}

Столкнулся с такой проблемой когда закрываю соединение из другого потока функцией netconn_close() то читающий поток остается висеть в netconn_recv пока не выйдет по таймауту. Есть какой-небудь "легальный" способ решить проблему? А то пока приходит в голову только вариант вручную отправить сообщение в очередь conn->recvmbox.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
bioniwulf
сообщение Jan 21 2012, 06:01
Сообщение #2





Группа: Новичок
Сообщений: 2
Регистрация: 21-01-12
Пользователь №: 69 771



Добрый день, у меня вопрос немного не по теме но близко, как вы настроили FREERTOS на STM32F207? я использую FreeRTOS_v6.1.0 который в комплекте к демо проектам к LwIP (STM32F2x7_ETH_LwIP_V1.1.0). Если можно ммогли бы скинуть конфиги ОС?
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Jan 21 2012, 07:24
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Цитата(bioniwulf @ Jan 21 2012, 09:01) *
Добрый день, у меня вопрос немного не по теме но близко, как вы настроили FREERTOS на STM32F207? я использую FreeRTOS_v6.1.0 который в комплекте к демо проектам к LwIP (STM32F2x7_ETH_LwIP_V1.1.0). Если можно ммогли бы скинуть конфиги ОС?

В этой демке уже все настроено. Там ничего настраивать не нужно. Все и так нормально работает. Тут кое что обсуждалось http://electronix.ru/forum/index.php?showt...=98347&st=0
По FreeRTOS тут неплохо прописано http://www.kit-e.ru/articles/micro/2011_2_96.php
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 19th August 2025 - 01:28
Рейтинг@Mail.ru


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