@chr-mt:
Rec_Z wird tatsächlich im Fehlerfall nicht mehr zurück gesetzt. Werde ich ändern. Allerdings ist Rec_Z als "Word" deklariert, dh. incr-Befehl 10x/sekunde ergibt 36000 pro Stunde und bei 65000 läuft die Variable erst über ich habe den Absturz nach ein paar Sekunden.

@Vitis & Peterfido:
Das kam aus reiner Verzweiflung... Der µC ist aus der Fehler Do...Loop rausgekommen und deshalb hab ich goto benutzt. Nun hat Christopher mir ja erklärt das die Do...Loop in Ordnung war und der µC über den Interrupt von der seriellen Schnittstelle rausgekommen ist. Auch diese Werte
$hwstack = 250
$swstack = 250
$framesize = 450
sind aus reiner Verzweiflung, um es sicher auszuschließen.



Kann man den Empfang irgendwie optimieren, falls der µC an der Datenmenge scheitert und so zuviel Zeit benötigt?

Wie kann ich den Fehler eingrenzen?
Meine Idee:
ich zähle die Variable Zyklus in der haupt Do...Loop hoch und 10 mal pro Sekunde(eben wenn der Timer die Variable zum schreiben auf SD setzt) gebe ich diese Variable seriell aus:

Es sind 267 egal ob der µC zum senden angeschlossen ist oder nicht!
Wenn ich auf SD schreibe sind es 270 und jeder 28.te Wert ist 151 ohne den sende µC!
Mit sende µC sind es auch 270 aber jeder 20.te Wert ist 152 manchmal nur 146!

Kann man daraus etwas ableiten oder gehe ich in die falsch Richtung?


Tobias