Как исправить MEMP_SYS_TIMEOUT в клиенте sntp на stm32 - PullRequest
0 голосов
/ 04 апреля 2019

На STM32H7 я запускаю LwIP, чтобы узнать больше о raw API (NOSYS = 1).Теперь сервер и клиент UDP (и TCP) работают нормально.

Далее я настраиваю NTP-клиента.

Я инициализирую его следующим образом (в sntp_client.c):

#define SNTP_CONF_IPADDR0   185
#define SNTP_CONF_IPADDR1   255
#define SNTP_CONF_IPADDR2   55
#define SNTP_CONF_IPADDR3   20

sntp_setoperatingmode(SNTP_OPMODE_POLL);
sntp_setservername(0, (char*)"pool.ntp.org");
sntp_init();

После запуска я получаю сообщение об ошибке

Assertion "sys_timeout: timeout != NULL, pool MEMP_SYS_TIMEOUT is empty" 
failed at line 212 in 
..\..\..\Middlewares\Third_Party\LwIP\src\core\timeouts.c

В Wireshark я не вижу отслеживаемых пакетов NTP.

В sntp_init, sntp_request (NULL);называется, после чего появляется тайм-аут.

Что мне нужно проверить дальше?

Мой источник здесь, важная часть в sntp_client.c: https://github.com/bkht/LAN8742A_KSZ8851SNL_LwIP

...