Hur som haver, jag vill ha två räknare, en räknar upp till 255, en ner till 0. Sen byter dom håll.
Enkelt förklarat, inte kritiskt med exakt 255 eller 0 som ni ser i koden.
För debug så skriver jag ut mina värden och om vi är i ena eller andra if-satsen.
Det som händer, och syns i debug, är att den räknar åt ena hållet tills iCU blir 255, då sätts iUP till 0 och iDN BORDE sättas till 1. Men det verkar inte så?
Se utdrag ur debug, kopierade delen som är av intresse.
Alltså räknar den på, men sen blir ju varken iUP eller iDN 1 och därför räknar den inte längre.Debug skrev: Startar:
2 - 254
bUP
3 - 253
bUP
4 - 252
bUP
osv..
bUP
253 - 3
bUP
254 - 2
bUP
254 - 2
254 - 2
254 - 2
254 - 2
Vad missar jag för enkelt fel?
Jag kan dra in hela koden om så önskas, men det som är av intresse (enligt mig) är detta:
int iCU = 1;
int iCD = 255;
int iUP = 1;
int iDN = 0;
void loop() {
if (iUP == 1) {
iCU = iCU + 1;
iCD = iCD - 1;
if (iCU == 255) {
iUP = 0;
iDN = 1;
}
}
if (iDN == 1) {
iCU = iCU - 1;
iCD = iCD + 1;
if (iCD == 255) {
iUP = 1;
iDN = 0;
}
}
Serial.print(iCU);
Serial.print(" - ");
Serial.print(iCD);
Serial.println(" ");
if (iUP == 1) {
Serial.print("bUP");
}
if (iDN == 1) {
Serial.print("bDN");
}
Serial.println(" ");
}