把DHCP的例程合并入到了udpclient的例程中。
測試程序的時候發(fā)現(xiàn)芯片能夠拿到ip,在dhcp回調(diào)函數(shù)中調(diào)用WCHNET_CreateUdpSocket失敗,
WCHNET_SocketCreat返回錯誤碼11, 是說內(nèi)存超出了,
這個要怎么調(diào)呢?
u8 SocketId;
u8 SocketRecvBuf[WCHNET_MAX_SOCKET_NUM][RECE_BUF_LEN];? ? //socket receive buffer
u8 MyBuf[RECE_BUF_LEN];
void WCHNET_CreateUdpSocket(void)
{
? ? u8 i;
? ? SOCK_INF TmpSocketInf;
? ? memset((void *) &TmpSocketInf, 0, sizeof(SOCK_INF));
? ? memcpy((void *) TmpSocketInf.IPAddr, DESIP, 4);
? ? TmpSocketInf.DesPort = desport;
? ? TmpSocketInf.SourPort = srcport++;
? ? TmpSocketInf.ProtoType = PROTO_TYPE_UDP;
? ? TmpSocketInf.RecvStartPoint = (u32) SocketRecvBuf[SocketId];
? ? TmpSocketInf.RecvBufLen = RECE_BUF_LEN;
? ? i = WCHNET_SocketCreat(&SocketId, &TmpSocketInf);
? ? printf("WCHNET_SocketCreat %d srcport %d\r\n", SocketId, srcport);
? ? mStopIfError(i);
}
打印的信息是?WCHNET_SocketCreat 0?srcport? 1001
看不出有什么問題??? 為什么會報內(nèi)存的問題呢?