CH565使用官方TCP/IP協(xié)議棧(CH569NETLIB.h中 #define CH569NET_LIB_VER? 0x02),在UDP通信中,通過計算機發(fā)送9字節(jié)的UDP報文,CH565回復報文wireshark抓包提示FCS校驗錯誤:
報文展開的話,具體內容如下:
真實的UDP 9字節(jié)報文應該是24 1a c0 a8 00 63 00 0d 0a,但是可以看到,實際上最后多出來13個字節(jié),其中最后的4個字節(jié)c0 a8 00 01被直接當成FCS校驗了。
我的代碼如下:
void CFG_Socket_CallBack(struct _SCOK_INF *socinf,UINT32 ipaddr,UINT16 port,UINT8 *data,UINT32 len)
{
? unsigned int net_mask_value;
? UINT32 bufLen;
? char rc;
? unsigned char dst_ip[4];
? bufLen = len;
? Int2Char(flip32(ipaddr), dst_ip);
? memcpy(CFG_Socket.socketInf.IPAddr,dst_ip,4);
? CFG_Socket.socketInf.DesPort = port;
? printf("%d bytes\r\n",bufLen);//此處打印的值為9,說明bufLen沒有問題
? if((*data==0x24)&&(*(data+1)==0x11))//IP地址設置
? {
? ? ? rc = CH569NET_SocketUdpSendTo(CFG_Socket.socketID, data, &bufLen,CFG_Socket.socketInf.IPAddr,(UINT16)CFG_Socket.socketInf.DesPort);//收到報文后,原路返回
? ? ? if(rc!=0)
? ? ? ? ? printf ("CFG_Socket send error!0x%X\r\n",rc);
? }
請問這個問題可能是什么原因?