1、首先配置LWIP支持SNTP
然后在opt.h中增加一个timeout->LWIP_SNTP
防止出现类似
Assertion "sys_timeout: timeout != NULL, pool MEMP_SYS_TIMEOUT is empty" failed at line 190 in ../Middlewares/Third_Party/LwIP/src/core/timeouts.c
这样的错误。
/**
* The number of sys timeouts used by the core stack (not apps)
* The default number of timeouts is calculated here for all enabled modules.
*/
#define LWIP_NUM_SYS_TIMEOUT_INTERNAL (LWIP_TCP + LWIP_SNTP + IP_REASSEMBLY + LWIP_ARP + (2*LWIP_DHCP) + LWIP_AUTOIP + LWIP_IGMP + LWIP_DNS + PPP_NUM_TIMEOUTS + (LWIP_IPV6 * (1 + LWIP_IPV6_REASS + LWIP_IPV6_MLD)))
在使用sntp之前,需要对其进行初始化,初始化放在lwip初始化之后就行了。
void set_sntp_server_list(void)
{
uint32_t server_list[SNTP_MAX_SERVERS] = {0x9f64a8c0}, //