把DHCP的例程合并入到了udpclient的例程中。
测试程序的时候发现芯片能够拿到ip,在dhcp回调函数中调用WCHNET_CreateUdpSocket失败,
WCHNET_SocketCreat返回错误码11, 是说内存超出了,
这个要怎么调呢?
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
看不出有什么问题啊? 为什么会报内存的问题呢?