Hallo ich bin gerade durch googeln auf dieses Forum gestoßen und möchte gleich mal ein Problem anbringen ;)
ich habe ein Sketch der bei auslösen einer lichtschranke einen interrupt anstößt. Der Interruppt wiederrum speichert die aktuellen millis() und schickt mich dann in eine Funktion
hier mal der code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
void timerInterrupt() { //Funktion zum interrupt
startmillis=millis()+verzoegerungMillis;
merker=1;
Serial.println("interrupt");
ausloesen();
}
void ausloesen(){
Serial.println("void ausloesen1");
Serial.println(startmillis);
while(merker==1){
Serial.println("whileschleife");
Serial.println(verzoegerungMillis);
millimerker=millis();
Serial.println("MILLIMERKER=");
Serial.println(millimerker);
delay(500);
if(millimerker >= startmillis){
digitalWrite(ausgang,HIGH);
delay(1000);
digitalWrite(ausgang,LOW);
millimerker=aktuellemillis;
merker=0;
Serial.println("void ausloesen2");
}
}
}
irgendwie wird aber die bedingung der if schleife nie wahr da der millimerker nicht korrekt gesetzt wird (bzw er wird nur einmal gesetzt und dann nicht aktualisiert) woran liegt das?
ich hoffe hier kann mir jemand helfen
danke sagt derRobert