• NewGuest
  • Registratie: Mei 2007
  • Laatst online: 18:18
Moet !printed dan in een aparte if statement gechecked worden om het robuuster te maken?

  • koraks
  • Registratie: Oktober 2003
  • Niet online
Als het probleem inderdaad is dat de console output al voorbij is voordat de serial monitor start (en dat is goed mogelijk c.q. vaak het geval), dan kun je gewoon een halt inbouwen m.b.v. bv. delay() die de serial monitor de tijd geeft om op te starten. Bv. delay(5000) meteen aan het begin van setup() geeft een 5 sec. halt waarna de rest van het programma verder gaat.

Overigens houdt het ook verband met de werking van de serial monitor en de wijze waarop de controller reset. Je zou bv even met Termite kunnen proberen; redelijke kans dat je daarmee de initiële Serial.print wel vangt, ook zonder opstartvertraging.

Die loop met een eindeloos repeterend if-statement is een nogal merkwaardige workaround die misschien wel (soort van) werkt, maar een aantal nadelen heeft. O.a. dat de tijdsduur afhankelijk is van de snelheid waarmee de loop() draait (dus verdere code), en ook dat dat if-statement eindeloos geëvalueerd blijft worden, ook als de Serial output al (eenmalig) is voltooid. Dus loze code-executie. Geen van beide zijn per se schadelijk of onoverkomelijk, maar m.i. niet de meest logische route.

Overigens, als je toch Copilot vraagt wat er aan de hand is, kun je ook even vragen om een stukje code om het op te lossen. Met zoiets simpels als dit gaat dat vrijwel altijd goed.
Pagina: 1 ... 96 97 Laatste