- case MQTT_EVENT_DATA:
- ESP_LOGI(TAG, "MQTT_EVENT_DATA");
- printf("TOPIC=%.*s
", event->topic_len, event->topic); - printf("DATA=%.*s
", event->data_len, event->data); - // 创建json数据解析对象
- pJsonRoot = cJSON_Parse(event->data);
- //如果是否json格式数据
- if (pJsonRoot !=NULL)
- {
- printf("Data NULL!
"); - }
- // 解析数据
- // char bssid[23] = {0};
- pJsonRoot = cJSON_GetObjectitem(pJsonRoot, "msg"); // 解析msg字段字符串内容
- ESP_LOGI(TAG, "Data=%s", cJSON_Print(pJsonRoot));
- // 释放内存
- // cJSON_Delete(pJsonRoot);
- break;
添加的代码如上所示,但是烧录后每次到输出的部分就到倒是重启,报错的警告为Guru Meditation Error: Core 0 panic'ed (LoadStoreError). Exception was unhandled.
如果把输出的部分删除,就不会出现重启的情况,将输出部分改为printf也会报错
请问一下,如果我需要在这里添加cjson解析代码并将获取到的数据输出出去,应该如何修改代码?
这个是通过命令查看到的位置,就是代码中的第十五行。