欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
關于stm32嵌入lwip以太網udp升級傳輸大數據包問題
[打印本頁]
作者:
heila
時間:
2015-12-9 01:20
標題:
關于stm32嵌入lwip以太網udp升級傳輸大數據包問題
問題描述
使用stm32的以太網嵌入lwip網絡協議和pc電腦通訊,主要傳輸升級數據,涉及到的是fpga數據,所以量有點大。
發現一個問題,每次傳輸只能傳輸12包,到12包之后就沒有收到數據包了,這個現象是固定的,也就是根本進不了回調函數如下函數
/******* 這是一個回調函數,當有UDP數據收到時會被調用********/
// addr:筆記本的IP地址(存放向開發板發送數據的PC的IP地址)
// port:筆記本的端口號(遠端端口號)
void Udp_Test_Receive(void *arg,struct udp_pcb *pcb,struct pbuf *p,struct ip_addr *addr,u16_t port)
{}
很是疼痛,網絡菜鳥,不斷找代碼的Bug,解決問題可就是解決不了。
經過比較發現,在回調函數里忘記釋放指針了。
比較標準的回調函數如下
void Udp_Test_Receive(void *arg,struct udp_pcb *pcb,struct pbuf *p,struct ip_addr *addr,u16_t port)
{
//struct ip_addr destAddr = *addr;
//unsigned char g_tData[256];
struct pbuf *p1;
unsigned char *nptr; //指向UDP接收緩存區的指針
short len; //接收到的UDP數據包長度
unsigned short LenUpdata = 0; //升級數據包的有效數據長度
if(p != NULL)
{
len = p->len;
len = len;
nptr = (unsigned char*)p->payload;
/*************************add your code here***************/
/*******************************************************/
/**************************************************************************/
pbuf_free(p);
}
}
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1