问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果
// 【接收MQTT的[PUBLISH]数据】函数 【参数1:主题 / 参数2:主题长度 / 参数3:有效载荷 / 参数4:有效载荷长度】
//===============================================================================================================
void mqttDataCb(uint32_t *args, const char* topic, uint32_t topic_len, const char *data, uint32_t data_len)
{
char *topicBuf = (char*)os_zalloc(topic_len+1); // 申请【主题】空间
char *dataBuf = (char*)os_zalloc(data_len+1); // 申请【有效载荷】空间
MQTT_Client* client = (MQTT_Client*)args; // 获取MQTT_Client指针
os_memcpy(topicBuf, topic, topic_len); // 缓存主题
topicBuf[topic_len] = 0; // 最后添'\0'
os_memcpy(dataBuf, data, data_len); // 缓存有效载荷
dataBuf[data_len] = 0; // 最后添'\0'
INFO("Receive topic: %s, data: %s \r\n", topicBuf, dataBuf); // 串口打印【主题】【有效载荷】
INFO("Topic_len = %d, Data_len = %d\r\n", topic_len, data_len); // 串口打印【主题长度】【有效载荷长度】