code loopt na 3 keer vast.
14 berichten
• Pagina 2 van 2 • 1, 2
Re: code loopt na 3 keer vast.
Hij blijft het probleem geven.
Het lijkt net of bij de derde keer er aan de voorwaarde voldaan wordt, maar de lastmillis niet veranderd word in millis. En zo continu de counter gereset word naar 1.
Want na de 3e keer veanderdt de pushcounter niet verder dan 2, hoe vaak je ook drukt.
Het lijkt net of bij de derde keer er aan de voorwaarde voldaan wordt, maar de lastmillis niet veranderd word in millis. En zo continu de counter gereset word naar 1.
Want na de 3e keer veanderdt de pushcounter niet verder dan 2, hoe vaak je ook drukt.
Advertisement
Re: code loopt na 3 keer vast.
ik heb nog eens wat gespeeld met de seriële monitor. (tevens resette hij na de tijd de counter naar 5)
en toen kreeg ik onderstaand resultaat. Hoe kan het zijn dat mijn lastMillis naar negatief gaat?
on
number of button pushes: 2
Millis: 5
MillisNu 0
lastMillis: 0
off
on
number of button pushes: 3
Millis: 3133
MillisNu 3127
lastMillis: 0
off
on
number of button pushes: 4
Millis: 6394
MillisNu 6389
lastMillis: 0
off
on
number of button pushes: 2
Millis: 10355
MillisNu 10350
lastMillis: 6389
off
on
number of button pushes: 2
Millis: 18963
MillisNu 18958
lastMillis: 16390
off
on
number of button pushes: 3
Millis: 24306
MillisNu 24301
lastMillis: 16390
off
on
number of button pushes: 5
Millis: 41666
MillisNu 41661
lastMillis: -23875
off
Als ik nu blijf doorklikken voldoet immers altijd de reset functie. (millis - lastmillis is inderdaad groter dan 15sec)
en toen kreeg ik onderstaand resultaat. Hoe kan het zijn dat mijn lastMillis naar negatief gaat?
on
number of button pushes: 2
Millis: 5
MillisNu 0
lastMillis: 0
off
on
number of button pushes: 3
Millis: 3133
MillisNu 3127
lastMillis: 0
off
on
number of button pushes: 4
Millis: 6394
MillisNu 6389
lastMillis: 0
off
on
number of button pushes: 2
Millis: 10355
MillisNu 10350
lastMillis: 6389
off
on
number of button pushes: 2
Millis: 18963
MillisNu 18958
lastMillis: 16390
off
on
number of button pushes: 3
Millis: 24306
MillisNu 24301
lastMillis: 16390
off
on
number of button pushes: 5
Millis: 41666
MillisNu 41661
lastMillis: -23875
off
Als ik nu blijf doorklikken voldoet immers altijd de reset functie. (millis - lastmillis is inderdaad groter dan 15sec)
Re: code loopt na 3 keer vast.
ik denk dat je van: int lastMillis = 0;
unsigned long lastMillis = 0;
met maken, je stopt namelijk een groot getal (millis()) in een kleine space een in een int,
een long is 4 bytes groot dus space voor 2^32 maar in een int is maar plaats voor 2^16 dat is dus minder,
ook als je gewoon een variable declared als int of long, zijn die signed, betekend dat die dus negatief kunnen gaan
je kunt dus grotere positive getallen krijgen door ze unsigned te maken.
hoop dat het je helpt
unsigned long lastMillis = 0;
met maken, je stopt namelijk een groot getal (millis()) in een kleine space een in een int,
een long is 4 bytes groot dus space voor 2^32 maar in een int is maar plaats voor 2^16 dat is dus minder,
ook als je gewoon een variable declared als int of long, zijn die signed, betekend dat die dus negatief kunnen gaan
je kunt dus grotere positive getallen krijgen door ze unsigned te maken.
- Code: Alles selecteren
unsigned long previousMillis = 0;
int interval = 1000;
unsigned long currentMillis = millis();
if(currentMillis - previousMillis > interval){
previousMillis = currentMillis;
doStuff();
}
hoop dat het je helpt
14 berichten
• Pagina 2 van 2 • 1, 2
Wie is er online?
Gebruikers in dit forum: oxiriewatizi en 33 gasten