INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Blink ohne Delay - Merkwürdiger Fehler
07.05.2015, 22:33 (Dieser Beitrag wurde zuletzt bearbeitet: 07.05.2015 22:48 von rave.)
Beitrag #1
Blink ohne Delay - Merkwürdiger Fehler
Hallo Leute,

ich probiere schon den ganzen Abend an einer Kleinigkeit herum. Es erschließt sich für mich einfach nicht, wo der Fehler liegt.
Ich habe ein einfaches "Blink ohne Delay" mit millis() realisiert. Dieses Blinken wird jeweils nach 3 Sekunden gestartet/gestoppt.

Leider hängt sich nach 33 Sekunden nach Reset des Arduinos die Schleife auf.
Ausprobiert habe ich das folgende Programm sowohl mit einem Uno, als auch mit einem Pro Mini.


Code:
//Ein- und Ausgänge
int LED_R = 13;

//Variablen
int serial_eof = 0;
int previousMillis_eof = 0;
int blink_interval_eof = 250; // Blinkinterval für EOF in ms
int serial_eof_state = 0;
int delay1 = 3000;
int delay_last = 0;
int value = 0;

void setup()
{
  pinMode(LED_R, OUTPUT);  
}

void loop()
{
  if (millis() - delay_last > delay1) {
    serial_eof = !serial_eof;
    delay_last = millis();
  }

//EOF---------------------
  if (serial_eof){
    if(millis() - previousMillis_eof > blink_interval_eof){
      previousMillis_eof = millis();
      serial_eof_state = !serial_eof_state;
      if(serial_eof_state){
        digitalWrite(LED_R,HIGH);
      } else {
        digitalWrite(LED_R,LOW);
      }
    }
  } else {
      digitalWrite(LED_R,LOW);
  }

}


Vielleicht sehe ich auch den Wald vor lauter Bäumen nicht. Über Anregungen und Hinweise würde ich mich freuen,
Rave
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
08.05.2015, 04:25
Beitrag #2
RE: Blink ohne Delay - Merkwürdiger Fehler
Hallo Rave,

die Vermutung von t.a.f.k.a.Z. ist korrekt. Benutze für die Millis-Variablen den Typ long statt int.

Gruß Rainer
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
08.05.2015, 23:43
Beitrag #3
RE: Blink ohne Delay - Merkwürdiger Fehler
Hey Leute,

ihr seid großartig! Das war es. Vielen Dank!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.05.2015, 15:49 (Dieser Beitrag wurde zuletzt bearbeitet: 10.05.2015 08:21 von Bitklopfer.)
Beitrag #4
RE: Blink ohne Delay - Merkwürdiger Fehler
(08.05.2015 23:43)rave schrieb:  Hey Leute,

ihr seid großartig! Das war es. Vielen Dank!

Hi,
aber denk auch dran das nach ein paar Tagen auch die unsigned long int Variable überläuft....kannste ausrechnen, 4294967295 / 1000 / 86400...sind dann 49,7 Tage..
lg
bk

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.05.2015, 15:56
Beitrag #5
RE: Blink ohne Delay - Merkwürdiger Fehler
(09.05.2015 15:49)Bitklopfer schrieb:  aber denk auch dran das nach ein paar Tagen auch die unsigned long int Variable überläuft....kannste ausrechnen, 4294967295 / 1000 / 84600.
Hi,
das macht nichts, so lange man es so hinschreibt
Code:
if (millis() - delay_last > delay1) {
...und delay1 wesentlich kleiner als 40 Tage ist.
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
10.05.2015, 11:41 (Dieser Beitrag wurde zuletzt bearbeitet: 10.05.2015 11:43 von rave.)
Beitrag #6
RE: Blink ohne Delay - Merkwürdiger Fehler
Der Arduino läuft nur maximal 4h am Tag. Von daher kein Problem.

Gibt es denn irgendwo eine Liste aller Variablentypen inkl. Erklärung?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
10.05.2015, 12:04
Beitrag #7
RE: Blink ohne Delay - Merkwürdiger Fehler
(10.05.2015 11:41)rave schrieb:  Gibt es denn irgendwo eine Liste aller Variablentypen inkl. Erklärung?
Hi,
fang mal hier an: http://www.arduino.cc/en/Reference/HomePage, unter "Data Types".
Bei solchen Listen gibt es allerdings zwei Problemchen:
1. Es gibt ein paar Möglichkeiten, sich eigene Datentypen zu basteln. Dadurch kann es z.B. bei der Verwendung von Libraries noch weitere Datentypen geben. (Siehe z.B. typedef und class.)
2. Vor Allem bei Integer-Datentypen sind die Längen nicht genau "vorgeschrieben". Deshalb werden oft nicht int, long etc. verwendet, sondern "fixed length" Datentypen (http://www.nongnu.org/avr-libc/user-manu...tdint.html).
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.05.2015, 06:29
Beitrag #8
RE: Blink ohne Delay - Merkwürdiger Fehler
Hi,
und nicht veressen...hier in dem Fall war es rave ntgangen das die Function milis() eben einen unsigned long Integer-Wert zurückliefert genauso wie die Function micros(). Hier ist dann bei Aufrufen die man noch nicht kennt es immer sinnvoll erstmal die Beschreibung unter ardino.cc zu lesen.
lg
bk

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Fehler in meinem Programm Franz54 7 143 01.12.2016 23:58
Letzter Beitrag: hotsystems
  Fehler im Programmablauf binderj1 14 347 10.10.2016 10:29
Letzter Beitrag: StephanBuerger
  Fehler beim Kompilieren binderj1 5 291 03.10.2016 21:27
Letzter Beitrag: hotsystems
Smile Simpler Fehler bei MAP? malsehen 8 225 02.10.2016 19:46
Letzter Beitrag: malsehen
  Fehler beim Speichern von Projekten Manni66 16 682 23.08.2016 10:05
Letzter Beitrag: hotsystems
  Delay nurmili 2 218 10.07.2016 16:55
Letzter Beitrag: nurmili
  Ausgabe druckt immer 2 Werte anstatt nur einen. Finde den Fehler nicht TimeMen 24 732 02.07.2016 14:18
Letzter Beitrag: hotsystems
  Problem mit Delay und Millis funnyzocker 1 453 26.06.2016 09:54
Letzter Beitrag: hotsystems
  Adafruit SD-master / logger shield: Fehler beim 2. Kompilieren kl-ing 3 329 06.06.2016 16:07
Letzter Beitrag: Bitklopfer
  PID ohne Library MeisterQ 5 525 01.05.2016 09:23
Letzter Beitrag: MeisterQ

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste