关于Lwip数据收发过程太久的问题?

2019-07-21 03:42发布

我用正点原子的开发板,用测试开发板TCP收发的时长,发现正点原子的收发数据过程久了,开发板的程序为以太网测试,用网络调试助手发送一串数给开发板,开发板马上返回一串数,
开发板收到数据还是很快的,问题是返回数据给调试助手太久了,500ms都 有了
我看了它的程序是这样的:

void tcp_server_test(void)

。。。。。。
。。。。。。
    if(tcp_server_flag&1<<6)//接收到了数据
   {
       tcp_server_flag&=~(1<<6);//标志数据已经被接收了
       tcp_server_flag|=1<<7;//标志要发送的数据
    }

而回调发送函数在这个函数里
err_t tcp_server_poll(void *arg, struct tcp_pcb *tpcb)

......
        if(tcp_server_flag&(1<<7))//有数据要发送
......

那么看过这个函数的介绍,它是每500ms调用一次的,确实是比较久了,
各位有没有更好的发送数据的方法呢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
4条回答
0312221024
2019-07-21 17:21
我有个疑问,在正点原子的例程中,比如TCP-server这个实验里,开发板向PC机发送数据是设置一个标志位,然后数据是在轮询函数里才发出去的,是不是TCP-server这种TCP只能用这种方式来外发数据呢?
如果我自己用tcp_write()来发数据,那么:
tcp_write(struct tcp_pcb *pcb, const void *arg, u16_t len, u8_t apiflags)
这个struct tcp_pcb *pcb参数是要怎么来的呢?
可否有解释下呢?

一周热门 更多>