|
STM32F407 Ethernet, Не создается сокет |
|
|
|
Jul 27 2015, 07:58
|
Гуру
     
Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446

|
Ранее испорльзовал контроллеры STN32F107. Все было ОК. Теперь пытаюсь тоже самое запустить на F407. Столкнулся с проблемой, что не создается сокет. Программа заходит в бесконечный цикл в функци sys_error (ERROR_CODE code) по причине /* Out of TCP Sockets. */. Собственно процедура такая: Код init_TcpNet (); dhcp_disable ();
/* Setup and enable the SysTick timer for 100ms. */ SysTick->LOAD = (168000000 / 10) - 1; SysTick->CTRL = 0x05;
SocketNumber = tcp_get_socket (TCP_TYPE_SERVER | TCP_TYPE_DELAY_ACK | TCP_TYPE_FLOW_CTRL | TCP_TYPE_KEEP_ALIVE, 0, 65535, tcp_callback);
if (SocketNumber != 0) { /* Start listening on TCP port DevEthInfo.CtrlPort */ tcp_listen (SocketNumber, PortNumber); } Подскажите в чем может быть дело? Спасибо.
--------------------
Живи днем так, чтобы ночью ты спал спокойно.
|
|
|
|
|
Jul 27 2015, 12:16
|
Гуру
     
Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446

|
Вот интересный участок кода. Код #if !defined (STM32F40XX) && !defined (STM32F427X) && !defined (STM32F429X) /* #define STM32F40XX */ /*!< STM32F40xx/41xx Devices */ /* #define STM32F427X */ /*!< STM32F427x/437x Devices */ /* #define STM32F429X */ /*!< STM32F429x/439x Devices */ #endif По идее нужно раскоментить то. что требуется. Я пробовал - кейл ругается. Тоже интересно почему. А на счет драйвера так там некоторые ноги вообще не упомянуты (РА0 например) хотя в работе нужны. Просто удалил то их творчество и написал заново. Все заработало сразу. Хотел еще такой вопрос задать, делал кто создание нескольких сокетов в цикле? Может поделится кто чтоб мне время не терять. Спасибо.
--------------------
Живи днем так, чтобы ночью ты спал спокойно.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|