如何解决Arduino无法运行
以下代码已编译,但在终端上不生成任何输出。使用的数据存储器为9%,代码为5%。仅当MAX变量的值设置为小于1769时,Arduino才会生成输出。
以下算法用于从上限生成素数。我知道Arduino平台没有这个目的,但是这个项目是记忆研究的一部分。
#define MAX 2000
void setup() {
int i,j;
int limite;
char ehprimo[MAX];
Serial.begin(9600);
for(i=2;i<MAX;i++) ehprimo[i]=1;
limite = (int)sqrt(MAX);
for(i=2;i<=limite;i++) {
if(ehprimo[i]) {
for(j=i*i;j<MAX;j=j+i)
ehprimo[j] = 0;
}
}
for(i=2;i<MAX;i++) {
if(ehprimo[i]) {
Serial.print("\t");
Serial.print(i);
}
}
}
void loop() {
}
解决方法
您的内存不足。
https://www.arduino.cc/en/tutorial/memory
仅您的char数组将消耗2048字节可用SRAM中的2000字节。
当然,您还需要存储其他变量,这会导致您的程序因MAX值较小而失败。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。