Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: STM32F407 lwip (sockets)
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
DGV
Зараннее извиняюсь, повторю тему в данном топике.

Связываю по ethernet PC и STM32F407 (DM-STF4BB), коннектюсь через sockets. Проект пишется на основе прилагаемого с kit-ом примера в KEIL с исп-ием Freertos.

- открыто два сокета. С компа по каждому передаю и принимаю обратно (режим эха) какие-то данные, например:
Tx | Rx | Tx | Rx
сокет1 <-----> 1111 1111 2222 2222
сокет2 <-----> 3333 3333 4444 4444
все быстро и без накладок.
- открываю третий сокет. Понеслось... Что-то происходит не то, первый признак, у меня крутится задача ктр мигает Led, так мигание прекращается и если запустить в отладчике то видно, что работает только задача последнего открытого сокета в др. задачи не залетает.
Второе, передача/прием по сокетам (не-)работает ??? Например :
Tx | Rx | Tx | Rx
сокет1 <-----> 1111 2222
сокет2 <-----> 3333 3333 4444
по третьему сокету можно ни чего не делать (достаточно просто открыть).
Если закрыть сокет (любой) и оставить два, все опять работает, а потерянные (не переданные/не полученные) тут же после закрытия передаются. Подскажите куда посмотреть? Что поправить?
Просто уже не знаю куда смотреть!
Golikov A.
память выделенная стэку не кончилась? И помниться там можно было выбирать сколько максимально сокетов допустимо.
DGV
Памяти на стэк достаточно (вроде), в файле socket.c --> #define NUM_SOCKETS MEMP_NUM_NETCONN, а MEMP_NUM_NETCONN = 8. Я использую в примере 3 сокета.
Если бы стэк переполнялся, то работа при закрытии одного сокета не востанавливалась (я думаю) или не так ?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.