Zahl an RS232
Hallo paula,
schaue doch mal in die Beispiele von LabVIEW. Dort findest Du alles was Du benötigst.
Nun zu Deinem Problem:
Also, ich möchte eine Zahl zwischen 0 und 255 auf die serielle Schnittstelle schreiben. Zuerst initialisiere ich die Schnittstelle.
[kokisan2000] bestens ...
Danach wandel ich die Zahl in einen String um (kann man eigentlich nicht direkt die Zahl schreiben?) und gebe den String auf RS232.
[kokisan2000] Genau so wird es gemacht. Die Zahl kann nicht direkt geschrieben werden, da ein ASCII Format bei der Übertragung benutzt wird, soll heissen die Zahl 123 wird seriell als '1', '2', '3' übertragen. Für die einzelnen Ziffern werden nicht die Ziffern selber, sondern für jede Ziffer der ASCII Code dieser Ziffer übertrtagen. Also z.B. hex31 für '1', hex32 für '2' usw.
Einige hex-Codes sind reserviert und steuern die angeschlossen Geräte mit sogenannten Escape-Sequenzen an. So ist z.B. hex07 vorbelegt, um ein Klingelton auszulösen, hex0A bedeutet Linefeed (springe in nächste Zeile ... Wenn Du also selber Zahlen übertragen willst, musst Du sehr genau wissen was Du da machst, sonst kommt Dein angesprochenes Gerät schnell in einen Fehlerzustand. RS232 Übertragung bedeutet eigentlich immer Wandel in ASCII-String vom Programm aus und dann senden. Oder andersrum: ASCII String empfangen und dann wandeln in das Format, was man bekommt und benötigt (Integer, Float, ...).
Bei einstelligen Zahlen funktioniert das auch, aber bei den anderen nicht, warum? Muss ich das irgendwo einstellen?
[kokisan2000] dito, schaue Dir die ASCII-Tabelle an. Die hex-Codes 00-1F sind mit den Escape-Sequenzen vorbelegt.
Schaue Dir noch mal die Beispiele an. Dein verwendetes VI zum Senden ist unüblich.
Gruß
kokisan2000
|