1.回调函数是满足一定事件后会被内核自动调用,不需要程序体本身做任何处理
LWIP中 recv接收回调函数就是这样的原理,其调用时间便是接收到数据。
2.TCP协议在lwip中的体现形式是tcp_pcb(协议控制块结构体),不同的tcp协议连接会产生不同的控制块,最终以链表的形式组成,其中定义了recv、sent、poll等指针函数,指向回调函数。
3.lwip协议首先设置netif结构体(ip、掩码、网关等),然后新建PCB控制块在start_application()中,然后绑定IP地址(tcp_bind()),在sdk提供的demo中,tcp_per_server工程中,start_application函数中有服务器连接限制,如需使用多网口通讯是,应根据echo demo中的函数进行修改替换(并未验证只是阅读程序得出猜想)。
4.xemacif_input函数相当于eternetif_input,作用是将网络缓冲区中读取接收的数据并将其发给LWIP处理,tcp_per_server工程采用轮询的方式,必须调用该函数,也可将函数放入中断中执行。
5.lwip需要轮询的执行一些任务,所以必须在主while循环中调用tcp_fastmr()和tcp_slowtmr()函数。
本文深入探讨了LWIP中的TCP回调机制,详细解释了回调函数如何在特定事件触发时由内核自动调用,特别是在数据接收过程中的应用。文章还介绍了TCP协议在LWIP中的实现方式,通过tcp_pcb结构体管理和控制不同连接,以及如何设置netif结构体和使用xemacif_input函数处理接收数据。
2450

被折叠的 条评论
为什么被折叠?



