在sys_check_timeouts()函数中未找到tcp_tmr()调用
时间: 2024-04-05 07:34:06 浏览: 24
`tcp_tmr()`函数是用来处理TCP协议栈中的定时器事件的函数,它通常需要在lwIP协议栈的核心代码中被调用。
在lwIP协议栈中,`sys_check_timeouts()`函数是用来处理所有类型的定时器超时事件的,包括TCP协议栈中的定时器事件。当`sys_check_timeouts()`函数被调用时,会检查所有已经超时的定时器事件,并依次处理这些事件,包括TCP协议栈中的定时器事件。
因此,虽然在`sys_check_timeouts()`函数中没有直接调用`tcp_tmr()`函数,但是当TCP协议栈中的定时器事件超时时,`sys_check_timeouts()`函数会在内部调用相应的处理函数来处理这些事件,其中也包括了`tcp_tmr()`函数的调用。因此,在lwIP协议栈的核心代码中,会确保`tcp_tmr()`函数能够被正确地调用和处理TCP协议栈中的定时器事件。
相关问题
tcp_tmr();需要在sys_check_timeouts()函数中调用吗
在lwIP协议栈中,`tcp_tmr()`函数是用来处理TCP协议栈中的定时器事件的函数,它通常需要在`sys_check_timeouts()`函数中被调用。
具体来说,在`sys_check_timeouts()`函数中,会检查所有已经超时的定时器事件,包括TCP协议栈中的定时器事件。当检测到TCP协议栈中的定时器事件超时时,就需要调用`tcp_tmr()`函数来处理这些事件。
因此,在使用lwIP协议栈时,通常需要在`sys_check_timeouts()`函数中调用`tcp_tmr()`函数,以确保TCP协议栈中的定时器事件能够被正确地处理。
sys_check_timeouts()中调用了sys_now
是的,`sys_check_timeouts()`函数在处理定时器超时事件时,通常需要使用当前系统时间来判断哪些定时器已经超时。在lwIP协议栈中,获取当前系统时间的函数通常是`sys_now()`。
因此,在`sys_check_timeouts()`函数中,通常会调用`sys_now()`函数来获取当前系统时间,并将其与定时器的超时时间进行比较,以判断哪些定时器已经超时。如果某个定时器已经超时,那么就会触发相应的回调函数来处理该事件。
需要注意的是,`sys_now()`函数的实现可能会因系统平台或应用场景不同而不同,因此需要根据实际情况进行相应的实现和调用。