Hallo Serial,
Zitat:Irgendwie sind die Messwerte alle ziemlich stark gerundet (Umgerechnetes Array zum Beispiel müsste von den Messwerten her ein bisschen schwanken und nicht konstant bleiben).
Wenn man den Messbereich deines Oszi auf gerade mal 8bit beschränkt, dann bleiben nicht viele Nachkommastellen übrig. In welchem Bereich liegen denn die erwarteten "Schwankungen"?
Du skalierst deine I8-Werte mit 8/15 und wunderst dich, warum die skalierten Werte um 0.5333 schwanken?
Mathe ist nicht dein Lieblingsfach, oder?
Zitat:Es wird immer ein Byte gelesen und in ein I8 gewandelt. Danach wird das Array gebildet.
- Du hattest gesagt, du willst
aus Geschwindigkeitsgründen von ASCII auf BYTE/WORD umstellen. Und liest nun 10010 Bytes jeweils einzeln vom Port: was soll das? Warum nicht lesen in größeren Blöcken? Warum nicht die ersten 8 Byte am Stück lesen und verwerfen?
- Wenn du einen leeren String haben willst, dann solltest du nicht einen String der Länge Null ausschneiden, sondern die "leerer String"-Konstante nehmen. Oder den Outputtunnel der Case-Struktur auf "Default if unwired" stellen und nicht verdrahten…
- Wenn du die ersten Bytes nicht in dein Datenarray aufnehmen willst, dann macht man da keinen leeren String daraus, sondern setzt die Case-Struktur um Typecast und BuildArray herum…
- Du betreibst kein ErrorHandling in der Schleife. Wenn es mittendrin ein Problem gibt, wird die Schleife evtl. sehr lange brauchen, bis sie durchgelaufen ist…
So in etwa: