c++ - 代码仅适用于其中的 Serial.println()
问题描述
我有一个循环,它遍历我的传感器(项目),然后通过 MQTT 发送它们的状态。我在 ESP8266 开发板上运行该代码,在少数几个开发板上,此代码有效,而在其他代码上,它在随机时间后抛出异常。
现在,尝试调试这个,我发现,如果我Serial.println()
在下面的行中取消注释(它必须是那个确切的地方,把它放在任何其他行上,不会成功),代码工作非常稳定天。但是一旦我删除它println
,它就会在大约 100 秒后开始崩溃。这里发生了什么?在Serial.println()
做什么,这使我的代码稳定?
void _loop(String priority)
{
for(std::vector<IItem*>::iterator it = items.begin(); it != items.end(); ++it)
{
if ((*it)->loopPriority == priority)
{
(*it)->loop();
for (std::map<String, String>::iterator pubChannel = (*it)->pubChannels.begin(); pubChannel != (*it)->pubChannels.end(); pubChannel++ )
{
//Serial.println(pubChannel->second);
mqtt.sendMsg(pubChannel->second, (*it)->command(pubChannel->first));
}
}
}
}
解决方案
推荐阅读
- android - 根据从 Android Sharesheet 中选择的应用程序将特定文本共享到另一个应用程序
- javascript - 刷新时如何在url中添加相同的参数
- gitlab - 合并到特定分支时触发管道
- python-3.x - 代码中 %i 的含义是什么 **frames=[PhotoImage(file="chatgif.gif",format="gif -index %i" %(i)) for i in range(20)]**
- django - 查询以按外键项的数量对模型进行分类
- c++ - 变量评估
- crystal-reports - 如何在 Crystal 报告 2016 中将 yyyy-mm-dd(字符串)更改为 dd/mm/yyyy(日期)
- windows - Postgresql备份脚本如何写日志
- indexing - 为什么 Couchbase N1QL Order By 很慢?
- r - 去除异常值后包括 NA