CH32V208 ETH发送数据一段时间后无法再发送出现Out of Memory错误

使用下面的函数发送数据,一段时间后出现返回值为17(Out of memory的错误)


? ? uint8_t i = WCHNET_SocketSend(tcp_buffer_index, (uint8_t *)pucMBTCPFrame, &l);? ? ? ? //send data

? ? if (i == WCHNET_ERR_SUCCESS) {

? ? ? ? if(l != usTCPLength) {

? ? ? ? ? ? printf("Failed: Send len:%d, passed:%d\r\n", l, usTCPLength);

? ? ? ? } else {

? ? ? ? ? ? WCHNET_SocketRecv(tcp_buffer_index, NULL, &l);? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //Clear sent data

? ? ? ? }

? ? } else {

? ? ? ? printf("MBTCP send Resp Failed! len:%d, err:%d\r\n", usTCPLength, i);

? ? }



对应的log如下:

send Resp Failed! len:10, err:17


对应错误:

image.png


这个是哪里没有回收或者释放空间吗?



您好,这几行代码看不出什么问题,您可以将工程发我邮箱,我测试复现一下:kx@wch.cn


只有登录才能回复,可以选择微信账号登录