新手入门
- 积分
- 19
- 金钱
- 19
- 注册时间
- 2019-8-17
- 在线时间
- 3 小时
|
1金钱
为什么初始化lwip 也初始化成功了,但是 tcp_server_test();总是卡在它的这个while死循环里这个是我的tcp_server_test();
void tcp_server_test(void)
{
err_t err;
struct tcp_pcb *tcppcbnew;
struct tcp_pcb *tcppcbconn;
uint8_t *tbuf;
uint8_t res=0;
tbuf=mymalloc(0,200);
if(tbuf==NULL)return ; //内存申请失败了,直接退出
sprintf((char*)tbuf,"Server IP:%d.%d.%d.%d",lwipdev.ip[0],lwipdev.ip[1],lwipdev.ip[2],lwipdev.ip[3]);
printf("Server IP:%d.%d.%d.%d\r\n",lwipdev.ip[0],lwipdev.ip[1],lwipdev.ip[2],lwipdev.ip[3]);
sprintf((char*)tbuf,"Server Port:%d",TCP_SERVER_PORT);
printf("Server Port:%d",TCP_SERVER_PORT);
tcppcbnew=tcp_new();
if(tcppcbnew)
{
err=tcp_bind(tcppcbnew,IP_ADDR_ANY,TCP_SERVER_PORT);
if(err==ERR_OK)
{
tcppcbconn=tcp_listen(tcppcbnew);
tcp_accept(tcppcbconn,tcp_server_accept);
}else res=1;
}else res=1;
while(res==0)
{
if(key==1)
{
tcp_server_flag|=1<<7;
if(send_flag==1)
{
MCU_to_TCP();
flag_timer=0;
send_flag=0;
}
}
if(tcp_server_flag&1<<6)
{
tcp_server_flag&=~(1<<6);
}
if(tcp_server_flag&1<<5)
{
}else if((tcp_server_flag&1<<5)==0)
{
}
lwip_periodic_handle();
lwip_pkt_handle();
}
tcp_server_connection_close(tcppcbnew,0);//关闭TCP Server连接
tcp_server_connection_close(tcppcbconn,0);//关闭TCP Server连接
tcp_server_remove_timewait();
memset(tcppcbnew,0,sizeof(struct tcp_pcb));
memset(tcppcbconn,0,sizeof(struct tcp_pcb));
myfree(0,tbuf);
}
|
|