0

我为Arduino Uno Rev3 编写了一个 Arduino草图来监控温度和电流。我的 Arduino 在 6 个多小时后“崩溃”了。

重置 Arduino 后,它再次运行良好。我是否在代码中编写了导致此问题的内容?

代码,在 pastebin

http://pastebin.com/1G8SwHge

4

2 回答 2

1

好吧,一方面,你溢出了你的字符串缓冲区。

您已分配 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 方库。其中任何一个都可能包含内存泄漏。

于 2013-05-15T15:02:50.483 回答
-1

很可能你的SRAM内存用完了。尝试排除一些变量并再次运行它以检查是否是问题所在。您有很多变量,这可能是 Arduino Uno 上只有 2 KB SRAM 的问题。

于 2013-05-15T11:33:27.667 回答