Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
Für Testzwecke sollen einige Random-hex-Werte über die serielle Schnittstelle an ein zu testendes Gerät geschickt werden, und von diesem wieder zurück. Diese werden in eine Datei gespeichert.
Jetzt habe ich festgestellt, daß, wenn der Hex-Wert 0Dist, steht in der Datei anschlißend 0D0A (Carriage-return - Linefeed).
Das VISA: Lesen will offensichtlich 0D nicht alleine stehen lassen. Wie kann ich das unterdrücken?
' schrieb:...das VISA: Lesen will offensichtlich 0D nicht alleine stehen lassen. ...ist das so? oder kommt 0A von dem (Write To Spreadsheet File.vi)
PS: es würde auch das Anhängen von Zeilen an eine vorhandene Daten funktionieren und nicht immer ganz neu schreiben
1Postingempfehlungen, 2Motivation Fragen und Anpassungswünsche per PM werden, gegen Rechnungsstellung gerne beantwortet und realisiert ....wenn's dann doch kostenlos sein soll... bitte hier im LVF unter Berücksichtigung der voranstehenden Links posten.
' schrieb:Das unerwünschte 0A kommt auch mitten in der Datenübertragung.
Für Tests habe ich am RS232-Stecker die Sende- und Empfangsleitung einfach verbunden. Aber ich denke, das dürfte keinen Unterschied machen.
Die beiden /r im String sind aber keine Hexwerte, oder?
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
möglicherweise spielt das Format für ds vi "in Tabellenkalkulation schreiben" eine Rolle. Ich habe eine ganze Weile rumgespielt, aber mit konstanter Boshaftigkeit wir hinter "0D" auch ein "0A" angefügt. Genauso, wenn ein "0A" kommt, wird ein "0D" voran gesetzt.
Ich habe das Programm zwecks Übersichtlichkeit auf das Nötigste reduziert.
Am Zeilenende steht "0D0A", damit kann ich leben, aber wenn ein zufällig erzeugtes Datum irgendwo mittendrin ein "0D" oder ein "0A" hat, wird dieses jeweils als "0D0A" geschrieben! Und das nicht am Zeilenende. Es handelt sich um ein Byte, das eben auch mal "0D" sein darf, und unverändert in der Reihe an Bytes in die Datei geschrieben werden soll!
Ich habe es mit anderen Datei-Schreib-Modulen probiert, und da passiert ähnliches.
Ich schätze, das ist ein Bug.
Ich würde ja ein solches Modul selber schreiben, wenn ich wüßte, wie.
' schrieb:Ich würde ja ein solches Modul selber schreiben, wenn ich wüßte, wie.
Du hast mehrere Möglichkeiten.
- Die Hex Werte in Strings umwandel und in Textdatei schreiben. (beim einlesen wieder zurück)
- Die Werte in ein Binary File schreiben.
Dazu öffnest du das "Write To Spreadsheet File.vi" und dort das "Write To Spreadsheet String.vi".
Nun siehst du wie das geht. Kannst du nachbauen, anstelle des "Write to TextFile" nimmst du das "write to BinaryFile".
.·´¯)--> Leben ist das, was dir passiert, wenn du eifrig dabei bist andere Pläne zu machen <--(¯`·.