本帖最后由 Jochen 于 2017-10-11 09:37 编辑
[mw_shl_code=c,true]int Mqtt_InitContext(struct MqttContext *ctx, uint32_t buf_size)
{
memset(ctx, 0, sizeof(*ctx));
ctx->bgn = (char*)malloc(buf_size);
if(NULL == ctx->bgn) {
return MQTTERR_OUTOFMEMORY;
}
ctx->end = ctx->bgn + buf_size;
ctx->pos = ctx->bgn;
return MQTTERR_NOERROR;
}[/mw_shl_code]
刚开始学习stm32不久,在网上找了一份onenet的mqtt代码,打算试一试。
把代码修改到自己的工程里后,connect pack一直失败。
调试的时候发现这一句[mw_shl_code=c,true]ctx->bgn = (char*)malloc(buf_size);[/mw_shl_code]
没有成功,
buf_size给的
1000,调试时也是有值的,但是运行完这一句
ctx->bgn还是
0x00000000;
对比调试了下载的那份未修改的代码,他运行完
ctx->bgn是有值的,自己没有头绪了,请论坛大佬指点迷津
可以了!调大堆空间Heap_Size为0xC00就可以了!!!谢谢大佬
一周热门 更多>