一種uIP TCP/IP協(xié)議棧在51系列單片機上的實現(xiàn)
/*收到的是ARP數(shù)據(jù),調(diào)用uip_arp_arpin()處理*/
else if(BUF->type == htons(UIP_ETHTYPE_ARP)) {
uip_arp_arpin();
if(uip_len > 0)
{
etherdev_send();
}
}
}
/*查看0.5S是否到了,到了則調(diào)用uip_periodic處理TCP超時程序*/
else if(timer_expired(periodic_timer))
{
timer_reset(periodic_timer);
for(i = 0; i UIP_CONNS; i++)
{
uip_periodic(i);
if(uip_len > 0)
{
uip_arp_out();
etherdev_send();
}
}
/*查看10S是否到了,到了則調(diào)用ARP處理程序*/
if(timer_expired(arp_timer))
{
timer_reset(arp_timer);
uip_arp_timer();
}
}
}
return;
}
以上實例在keil C51編譯器下設置大模式,優(yōu)化等級6(速度優(yōu)先)進行編譯,對uIP代碼部分可以不做任何修改,對HTTP示例代碼僅需針對類型表達進行極少量的修改即可編譯通過。在硬件平臺上運行良好。
五 總結
uIP協(xié)議棧采用有效的方法和結構化的代碼,使其存儲器占用量很小并且可以很方便的應用到不同的工程項目中。同時它又是免費的可以自由使用于商業(yè)和非商業(yè)目的。uIP為低端嵌入式設備的網(wǎng)絡接入提供了很好的解決方案,具有很高的應用價值。
tcp/ip相關文章:tcp/ip是什么
評論