2019-03-24 10:25发布
结贴!
在回调函数中定义一个pbuf的结构,在使用pbuf *p时,将其传给p_r指针,程序中对p_r进行操作,而不是对p进行操作。
struct pbuf *p_r;
//
for(p_r=p; p_r!=NULL; p_r=p_r->next) { memcpy(&gucFModelStr[bufLen], p_r->payload, p_r->len);
bufLen += p_r->len;
}
这样修改之后,就不会出现数据接收几次就不能再进入接收中断的情况了。
具体原因还是不清楚,但总是感觉p指针及p->next指针占用的内存没有释放。在这里留个记号,等以后有时间再深入研究,也请高手们不吝赐教!
问题解决了,多谢Mr.FengZhang 和 Mr.Academic的鼎力相助!致敬!!!
最多设置5个标签!
结贴!
在回调函数中定义一个pbuf的结构,在使用pbuf *p时,将其传给p_r指针,程序中对p_r进行操作,而不是对p进行操作。
struct pbuf *p_r;
//
for(p_r=p; p_r!=NULL; p_r=p_r->next)
{
memcpy(&gucFModelStr[bufLen], p_r->payload, p_r->len);
bufLen += p_r->len;
}
这样修改之后,就不会出现数据接收几次就不能再进入接收中断的情况了。
具体原因还是不清楚,但总是感觉p指针及p->next指针占用的内存没有释放。在这里留个记号,等以后有时间再深入研究,也请高手们不吝赐教!
问题解决了,多谢Mr.FengZhang 和 Mr.Academic的鼎力相助!致敬!!!
默认 1600 怎么会是16K呢??? (1600/1024) K 不是这样的吗??
一周热门 更多>