Arduino在6小时后崩溃

时间:2013-05-15 09:29:15

标签: c arduino

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

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

代码,在pastebin

http://pastebin.com/1G8SwHge

2 个答案:

答案 0 :(得分:1)

嗯,首先,你的字符串缓冲区已经溢出。

您为cc

分配了15个字节
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的问题。