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()函数。