Hallo gotti,
Zitat:Die Idee hinter dem EmptyPuffer war immer die ganze Nachricht zu erhalten. versteh ich das richtig, dass es entfällt da nur auf Anfrage gesendet wird und somit der Puffer gar nicht voll sein kann und auch die nachricht selbst terminiert ist mit "\0"?
Wenn das Gerät erst auf Anfrage/Kommando sendet, kann nichts im Buffer sein. Wozu also leeren?
Und selbst wenn etwas drin stehen würde: du liest doch hinterher komplette Botschaften aus dem Buffer - es könnte höchstens die erste gelesene Botschaft unvollständig/fehlerhaft sein…
Zitat:Typdefiniert bedeutet das Design im Frontpanel?
Nein. Lese dir bitte das Thema "Typdefinition" in der LabVIEW-Hilfe durch!
Du legst damit einen Datentyp fest. Im Falle deines Clusters beinhaltet der Datentyp auch die Labels deiner 17 Bytes in der Botschaft/im Cluster.
Zitat:in deinem Programm steht "getData\00" aus anderen Programmiersprachen kenne ich nur "\0" gibts da ein Unterschied oder nur eine Null zu viel gedrückt?
Erstelle doch einfach mal selbst eine solche String-Konstante im \-code-Displaymode und tippe den String ein…
Learning by doing!
Geht deutlich schneller als hier zu schreiben und auf eine Antwort zu warten!
Zitat:der uC antwortet nur nachdem er aufgefordert wurde mit getData, brauch ich da überhaupt noch die Schleife? Oder ist sie notwendig um alle Byte zu lesen?
Sendet der µC dann genau eine Botschaft, wenn du den Befehl sendest (keine Schleife)? Oder sendet der µC mehrere Botschaften, nachdem er den einen Befehl erhalten hat (mit Schleife)?
Das weißt du doch besser als wir…
Zitat:Also in der Schleife werden dann 18 Byte gelesen und im Cluster ausgegeben, wobei nochmal das 4 und 5 byte selektiert werden und zu einem 16 bit Integer zusammengeführt und Dargestellt werden?
Byte4 und 5 wurden in deinem Original-VI ebenso zu einem U16-Wert zusammengeführt.
Du solltest dein eigenes VI eigentlich besser kennen…