|
问问坛里的朋友,有出现每200ms发送TCP数据,过几分钟后就报 这个错误的吗
case ERR_MEM_LOCK:
/* Locked Memory management function (alloc/free) re-entered. */
/* RTX multithread protection malfunctioning, not implemented */
/* or interrupt disable is not functioning correctly. */
break;
测试代码
__task void Tcp_tick_timer (void)
{
init_TcpNet(); //初始化TCP系统
os_itv_set (10);
while (1) {
os_itv_wait ();
/* Timer tick every 100 ms */
timer_tick ();
}
}
__task void Tcp_poll (void)
{
static int8u t_flag=1;
while (1)
{
main_TcpNet ();
os_tsk_pass ();
}
}
__task void Tcp_socket(void)
{
int32u maxlen=0;
int8u *buf_temp=NULL;
int32u i=0;
tcp_soc=tcp_get_socket(TCP_TYPE_CLIENT,0,TCP_SOCKET_TIMEOUT,Tcp_callback);
if(tcp_soc == 0)
{
while(1)
{
os_dly_wait(20);
}
}
while(1)
{
switch(soc_state)
{
case 0:
tcp_connect(tcp_soc,(int8u *)ip,1000,0);
break;
case 1:
if(tcp_check_send(tcp_soc))
{
soc_state=2;
maxlen=tcp_max_dsize(tcp_soc);
buf_temp=tcp_get_buf(1024);
for(i=0;i<1024;i++)
{
buf_temp[i]=i;
}
tcp_send(tcp_soc,buf_temp,1024);
}
break;
case 2:
break;
default :
break;
}
os_dly_wait(20);
}
}
|
|