高级会员

- 积分
- 779
- 金钱
- 779
- 注册时间
- 2012-6-14
- 在线时间
- 205 小时
|
20金钱
最近公司需要过4kv的接触静电,导致PHY容易被打死,所以软件上面也需要配合对PHY进行重启复位,保证能过这个最低的三级认证。以太网的PHY部分采用的是LAN8720,采用的是LWIP2.1.2版本的协议,使用http对设备内部参数进行配置,当前就是遇到一个问题,就是https这个不知道该如何进行复位,也就是使用“httpd_init()”构建了一次,静电打死PHY之后,恢复PHY构建之后,需要重写书写“httpd_init()”这个功能,但是直接怼上这个函数之后,出现如下的错误:
- Assertion "httpd_init: tcp_bind failed" failed at line 3156 in ..\..\LWIP\lwip_app\web_server_demo\httpd.c
复制代码 lwip附带的httpd.c中的httpd_init()函数如下:
- void
- httpd_init(void)
- {
- struct altcp_pcb *pcb;
- #if HTTPD_USE_MEM_POOL
- LWIP_MEMPOOL_INIT(HTTPD_STATE);
- #if LWIP_HTTPD_SSI
- LWIP_MEMPOOL_INIT(HTTPD_SSI_STATE);
- #endif
- #endif
- LWIP_DEBUGF(HTTPD_DEBUG, ("httpd_init\n"));
- /* LWIP_ASSERT_CORE_LOCKED(); is checked by tcp_new() */
- pcb = altcp_tcp_new_ip_type(IPADDR_TYPE_ANY);
- LWIP_ASSERT("httpd_init: tcp_new failed", pcb != NULL);
- httpd_init_pcb(pcb, HTTPD_SERVER_PORT);
- }
复制代码 也就是这个应用层的功能如何断开重建,请问各位有什么经验或者可以指导一下么?
|
|