LWIP协议栈中更改tcp_poll()回调函数调用频率和协议循环处理事件频率

tcp.c文件中,tcp_poll()回调函数被周期性调用,每interval秒调用两次。

在Xilinx SDK TCP server demo中 interval最小值是1秒,即poll_callbak将被500ms调用一次。

poll函数在tcp.c文件被函数tcp_slowtmr()周期性调用,调用周期取决于协议栈定时器中断频率的设置。

定时器中断发生会调用platform_zynqmp.c中的timer_callbak回调函数,该函数会给调用标志位(TcpFasttmrFlag和TcpSlowtmrFlag)赋值,从而控制tcp_slowtmr()函数的调用周期。

如果需要更改poll回调函数或是LWIP协议栈周期性处理时间的频率可通过更改platform_zynqmp.c中PLATFORM_TIMER_INTR_RATE_HZ的宏定义值来调整。

对于一般以太网协议,LWIP通过tcp_write()函数发送数据,其中参数len的值应小于等于1460.

 

 

 

你可能感兴趣的:(LWIP协议栈中更改tcp_poll()回调函数调用频率和协议循环处理事件频率)