我为Arduino Uno Rev3 编写了一个 Arduino草图来监控温度和电流。我的 Arduino 在 6 个多小时后“崩溃”了。
重置 Arduino 后,它再次运行良好。我是否在代码中编写了导致此问题的内容?
我为Arduino Uno Rev3 编写了一个 Arduino草图来监控温度和电流。我的 Arduino 在 6 个多小时后“崩溃”了。
重置 Arduino 后,它再次运行良好。我是否在代码中编写了导致此问题的内容?
好吧,一方面,你溢出了你的字符串缓冲区。
您已分配 15 个字节为cc
char cc[15];
但是你有代码:
strncat(cc,o,20);
strncat(cc,"|",20);
strncat(cc,m,20);
strncat(cc,"|",20);
strncat(cc,n,20);
这最多可以放 62 个字节。大多数其他缓冲区也是如此。
此外,您正在使用多个 3rd 方库。其中任何一个都可能包含内存泄漏。
很可能你的SRAM内存用完了。尝试排除一些变量并再次运行它以检查是否是问题所在。您有很多变量,这可能是 Arduino Uno 上只有 2 KB SRAM 的问题。