Der WDT schlägt zu, wenn's eben zu lange dauert - da sollte delay() eigentlich nicht der Weg sein.
Denke aber, daß während des delay() der WDR aufgerufen wird und somit der Wachhund regelmäßig zurück gepfiffen wird.
Nebenfrage: Was bezweckst Du mit der Zahl 000 ?
Ok, Das ergibt auch Null, aber nicht so, wie Du Dir Das gedacht hast.
Zumindest hast Du nicht 020 benutzt - Das wären nämlich nur 8 16 ( 2x 8 ), statt 20 (führende Null=Oktal).
Wodurch der WDT resettet wird (WDR), sollte sich irgendwo in den Tiefen der Dokumentation finden lassen.
Habe Mal das DU in ein Du geändert
Du möchtest damit "000", also drei Stellen übergeben?
Dann solltest Du Das auch so in der Sende-Funktion machen.
Den Wert kannst Du ja weiterhin als Zahl übergeben (kostet zwei Byte Speicherplatz) - als string (kleines s) wären Das Drei - vll. doch eine Idee, Das in string zu ändern, mit einem Byte (allerdings pro Aufruf) mehr wirst Du das Aufweiten der Zahl in drei Ziffern nicht hinbekommen.
Noch ist mir der Aufbau etwas suspekt - muß mir aber nicht in den Kopf gehen, muß nur bei Dir funktionieren!
Deine 000 ist für den Arduino nur eine Null, zwar in Oktal, aber eine Null.
Probiere, zum Spaß, 092 - wird einen Error hervorbringen, weil Es die 9 im oktalem Zahlensystem nicht gibt.
Das ist ja nur für eine LED in der Visualisierung. Ansonsten gebe ich Werte darüber.
as Standard SerialComInstruments Protokoll
Die COM-Schnittstelle ist fest eingestellt auf 8 Data Bits, 1 Stop Bit und No Parity.
Es findet keine Hardware- oder Software Flusskontrolle statt. Protokoll:
#kMm< # - Identifier Messwertübertragung Start
k - Kanal Nummer (1 bis 3 stellig)
M - Identifier Messwert Start
m - Messwert
< - Identifier Ende
Mit realen Werten dann z.B. so : #41M15.345< in Klartext: schicke an Kanal Nr. 41 den Wert 15,345
Dieser Datensatz muss vom Mikrocontroller als String an den PC gesendet werden.
CRLF (Carriage Return und Linefeed) Zeichen sind als Abschluss nicht notwendig.
Eine bestimmte Reihenfolge braucht beim Senden der Datensätze nicht eingehalten
werden. Es können z.B. 10 Datensätze gleichzeitig, einzeln oder beliebig gemischt
versendet werden
Aber jetzt mal was anderes, wenn ich das Pinmode auskommentiere läuft wieder alles. Es stürzt zumindestens nichts ab.
EDIT:
Das Problem ist gelöst. Aufgrund des Pinmappings, muss man D1 D2 etc. benutzen und kann nicht wie bei einem Arduino Board einfach 1 2 3 usw. schreiben.