新手上路
- 积分
- 27
- 金钱
- 27
- 注册时间
- 2017-6-16
- 在线时间
- 6 小时
|

楼主 |
发表于 2017-6-20 08:55:56
|
显示全部楼层
本帖最后由 山丨海 于 2017-6-20 08:58 编辑
这次准确定位到了故障点,出现在了
[mw_shl_code=c,true]
u8 find(char *msg,u8 err,u32 data_len)
{
u32 i=0,start=0;
u8 len=0;
char *msg_data;
if (data_len>0){
do{
if (*(msg+i) == '\r' & *(msg+i+1) == '\n'){
msg_data = mymalloc(SRAMIN,len); //可能故障点
mymemcpy(msg_data,msg+start,len); //可能故障点
printf("%s\r\n",msg);
printf("%s\r\n",msg_data);
printf("%d\r\n",len);
putTCPQmsg(msg_data,err);
i++;
start = i + 1;
len=0;
} else {
len++;
if (len > 30) break;
}
}while(i++<data_len-1);
}
return 0;
}
[/mw_shl_code]
输出的结果为:
第一次发送的数据:
第二次去掉一部分包发送的数据:
这是由于什么原因引起的?
想尝试使用系统自带的malloc,但是一直编译通过不了,勾选了微库后发现ucosii运行不了,求助
|
|