我为sketch Rev3写了一个Arduino Arduino Uno来监控温度和电流。我的Arduino在6个多小时后“崩溃”了。
重置Arduino后,它再次运行良好。我是否在代码中编写了导致此问题的内容?
答案 0 :(得分:1)
嗯,首先,你的字符串缓冲区已经溢出。
您为cc
char cc[15];
但你有代码:
strncat(cc,o,20);
strncat(cc,"|",20);
strncat(cc,m,20);
strncat(cc,"|",20);
strncat(cc,n,20);
那可能会占用62个字节。对于大多数其他缓冲区也是如此。
此外,您正在使用多个第三方库。其中任何一个都可能包含内存泄漏。
答案 1 :(得分:-1)
很可能你用完了SRAM内存。尝试取消一些变量并再次运行以检查是否存在问题。你有很多变量,这可能是Arduino Uno上只有2 KB SRAM的问题。