我想創建一個數組,並能夠比較數組中的第二個和最後一個項目。它需要不斷添加和比較才能正常工作。這只是我試圖幫助控制步進電機功能的功能。我有一個快速循環,可以直接進行比較。我知道它的一些是錯誤的,但由於我沒有用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