我用正点原子的开发板,用测试开发板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调用一次的,确实是比较久了,
各位有没有更好的发送数据的方法呢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
如果我自己用tcp_write()来发数据,那么:
tcp_write(struct tcp_pcb *pcb, const void *arg, u16_t len, u8_t apiflags)
这个struct tcp_pcb *pcb参数是要怎么来的呢?
可否有解释下呢?
一周热门 更多>