本人于下午一下午時間移植了一個UIP,修改后,好用了,由于內存不足,所以吧內部的靜態存儲區改成100個字節,這樣對于ram的消耗會大大的降低,滿足我的硬件系統要求,我運行試過了,我的RAM只有4096程序我正好控制在4016字節,正好可以跑起來,ICMP報文正常,TCP連接正常,數據也是正確的!哈哈,好高興!下一步芯片來了之后,開始加入操作系統,那就是小菜一碟了!嘿嘿
oid tcp_wangjunwei_appcall()//我自己的TCP端口
{
if (uip_closed())
{
// USART_OUT(USART1,"uip_closed!\r\n");
closed();
}
if (uip_connected())
{
struct tcp_demo_appstate *s = (struct tcp_demo_appstate *)&uip_conn->appstate;
s->state = STATE_CMD; //指令狀態
s->textlen = 0;
s->textptr = "連接到王均偉的TCP端口上,哈哈哈!掃噶!";
s->textlen = strlen((char *)s->textptr);
senddata();
}
if (uip_acked())
{
acked();
}
if (uip_rexmit() || uip_newdata() || uip_acked() || uip_connected() || uip_poll())
{
struct tcp_demo_appstate *s = (struct tcp_demo_appstate *)&uip_conn->appstate;
s->textptr = uip_appdata; /* 向客戶端發送收到的數據 */
s->textlen = uip_len;
senddata();
}
}
|