我想创建一个数组,并能够比较数组中的第二个和最后一个项目。它需要不断添加和比较才能正常工作。这只是我试图帮助控制步进电机功能的功能。我有一个快速循环,可以直接进行比较。我知道它的一些是错误的,但由于我没有用C语言编码,所以我不知道如何正确使用数组。先谢谢你。阵列在Arduino
int P[10],V[10],i,x,y;
Serial.print("checkvalue = ");
Serial.print(checkvalue);Serial.print("\n");
Serial.print("P = "); Serial.print(P[i]); Serial.print("\n"); //attempting to print array
Serial.print("V = "); Serial.print(V[i]); Serial.print("\n"); //to see if it is collecting
//data correctly
//these variables are declared above in my code, just didn't copy in
Dgreadpb = digitalRead(13);
PBcheck = Dgreadpb;
//Serial.print("Button in = ");Serial.print(Dgreadpb); Serial.print("\n");
Dgreadvls = digitalRead(12);
VLScheck = Dgreadvls;
//Serial.print("Photo in = ");Serial.print(Dgreadvls); Serial.print("\n");
for (i = 0; i < 10; i++){
x = Dgreadpb;
y = Dgreadvls;
P[i] = x;
V[i] = y;
if (P[i-1] == P[i] && V[i-1] == V[i]){ //trying to compare second to
checkvalue == 0; //last term to the last term
return;
}
else if(P[i-1] != P[i] || V[i-1] != V[i]){
checkvalue == 1;
return;
}
}
delay (1000);
等等,我无法理解你想要得到什么以及你实际得到了什么。顺便说一句,循环应该从1开始,而不是从0开始(因为你不能比较项目0与 - 不存在 - 前一个) – frarugi87
当'i = 0','P [i-1]'和'V [i-1]'超出范围,你不能访问那里。 – MikeCAT
我正在尝试创建一个数组,以便我可以检查当前循环中的传感器值是否与先前循环中的传感器值不同。这样我的电机只有在传感器值发生变化时才会运行,并且不会每循环运行一次。除非有更好的方法来做到这一点,我不知道。 @ frarugi87 – bcv29