INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

16Bit Ganzzahlen für die RS232 weiterverarbeiten?



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!

19.07.2009, 14:56 (Dieser Beitrag wurde zuletzt bearbeitet: 19.07.2009 15:04 von FrankH.)
Beitrag #1

FrankH Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: Jul 2009

6.1
2008
de

24113
Deutschland
16Bit Ganzzahlen für die RS232 weiterverarbeiten?
Hallo liebes Forum,
ich habe ein kleines Programm mit LabVIEW 6.1 geschrieben.
Ziel ist es, Daten zu berechnen und diese dann mittel RS232 an einem Mikrocontroller zu senden.
Bei den Daten handelt es sich um 16Bit unsigned Integer Werte, die ich in einem Array gesammelt habe.
Wenn ich ein Character sende, also "a" o. "b" usw. dann funktioniert das gut und der µC verarbeitet es wunderbar.
Als nächstes habe ich also versucht die Array-Werte in einen String zu wandeln, irgendwo habe ich in "Beispiele" von LabVIEW ein TypeCast (Typenwandlung) gefunden, funktioniert aber nicht wirklich. Verstanden habe ich das auch noch nicht richtig...
Meine Frage:
Was sollte ich als nächstes machen um die 16Bit Ganzzahlen aus meinem Array über die serielle Schnittstelle versenden zu können?
Ich stehe gerade ziemlich auf dem Schlauch.
MfG
Frank
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
19.07.2009, 22:43 (Dieser Beitrag wurde zuletzt bearbeitet: 19.07.2009 22:48 von schrotti.)
Beitrag #2

schrotti Offline
LVF-Freak
****


Beiträge: 842
Registriert seit: Feb 2008

2009 - 2011
2006
kA

70180
Deutschland
16Bit Ganzzahlen für die RS232 weiterverarbeiten?
Ein Character hat 8 Bit. Damit du also 16 Bit senden kannst, musst du zuerst die 16 Bit Zahl in zwei 8 Bit Zahlen zerlegen. Erst danach kannst du das Array als String interpretieren. Anbei zwei Möglichkeiten.

   

Edit: Funktioniert auch mit dem Typecast alleine. Wenn man aber nur kurz darüber nachdenkt, wie Typecast arbeitet, wird einem auch sofort klar, dass dem dem Typecast gar nichts anderes übrig bleibtSmile

   

Gruß Julius
Empfehlungen: expressionflow, LavaG , mooregoodideas, OpenG, JKI Blog
Tipp
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.07.2009, 07:05 (Dieser Beitrag wurde zuletzt bearbeitet: 11.02.2015 17:31 von Lucki.)
Beitrag #3

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
16Bit Ganzzahlen für die RS232 weiterverarbeiten?
Es gibt da verschiedene Methoden:
  • So wie Schrotti es gezeigt hat. Das Zahlenarray wird direkt in eine Folge von Bytes konvertiert.
    Vorteil: Die Anzahl der Bytes, die gesendet werden, ist minimal.
    Nachteil: Es läßt sich nicht zwischen Daten und Steuerzeichen (Bytes 0..31) unterscheiden. Das macht die Datensteuerung über RS232 schwierig.<>
  • Übertragung der Bytes im ASCII-Format (Hex).
    Vorteil: Es kann zwischen Steuerzeichen und Daten unterschieden werden
    Nachteil: Pro Datenbyte werden zwei Zeichen gesendet. Also z.B für 255 = 0xFF wird der zweistellige String "FF" gesendet.<>
  • Spezielle Protokolle, mit denen versucht wird, die Vorteile von 1. und 2. zu kombinieren und die Nachteile zu vermeiden. Darauf soll hier aber nicht näher eingegangen werden.
Die "normale" Methode der Datenübertragung über die serielle Schnittstelle ist am ehesten die Methode 2. Wenn Du daran interessiert bist, dann melde Dich noch mal.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.07.2009, 09:16
Beitrag #4

FrankH Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: Jul 2009

6.1
2008
de

24113
Deutschland
16Bit Ganzzahlen für die RS232 weiterverarbeiten?
Hallo Schrotti,
danke für deine Erklärung. Ich weiß nicht ob es an meiner LV Version liegt (6.1), jedoch kann ich die Elemente in deiner FOR-Schleife nicht finden.
Ich muss schon in dem Beispiele-Ordner nach dem TypeCast (Typenwandlung) suchen, weil der in meiner Funtkionspalette nicht vorhanden ist. Dein Beispiel habe ich mit dem Typenwandlungselement versucht nachzustellen.... siehe das Ergebnis ;-(
   

Lucki,
ich würde gerne mehr dazu erfahren.
Gruss
Frank
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.07.2009, 13:58
Beitrag #5

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
16Bit Ganzzahlen für die RS232 weiterverarbeiten?
' schrieb:ich würde gerne mehr dazu erfahren.
Gur, dann nehme ich mal einfach die Zahlen von Schrotti:
   
Die Funktion "Zahl nach Hexadezimal" steht glaube ich in dieser Eleganz in LV6 noch nicht zur Verfügung, aber es gibt etwas Entsprechendes.
Das Steuerzeichen 0xA (n) habe ich angefügt, damit Dein µC das Ende der Zeichenkette erkennt. Es kann auch ein anderes Steuerzeichen sein.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.07.2009, 15:57
Beitrag #6

RoLe Offline
LVF-Guru
*****


Beiträge: 1.236
Registriert seit: Jul 2007

-
1997
en

0
Schweiz
16Bit Ganzzahlen für die RS232 weiterverarbeiten?
' schrieb:Ich weiß nicht ob es an meiner LV Version liegt (6.1), jedoch kann ich die Elemente in deiner FOR-Schleife nicht finden.
Ich muss schon in dem Beispiele-Ordner nach dem TypeCast (Typenwandlung) suchen, weil der in meiner Funtkionspalette nicht vorhanden ist.
Als Ergänzung:
Die Funktionen gibt es schon in LV 6.1, aber ev. nur in den Prof. Version. Anbei ein Bild von meinem 6.1, auch die Funktion von Lucki gibt es bereits.


Angehängte Datei(en) Thumbnail(s)
   

.·´¯)--> Leben ist das, was dir passiert, wenn du eifrig dabei bist andere Pläne zu machen <--(¯`·.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
22.07.2009, 12:57
Beitrag #7

FrankH Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: Jul 2009

6.1
2008
de

24113
Deutschland
16Bit Ganzzahlen für die RS232 weiterverarbeiten?
Super,
habe alles hinbekommen und die Elemente konnte ich Dank RoLe auch finden.
Mein Hauptfehler lag im µC-Programm. Ich habe dort das High- u. Lowbyte vertauscht
und konnte deswegen nie den Wert richtig abfragen.
Also Danke nochmals an alle für ihre Hilfen
Frank
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  CAN Nachrichten in Array verarbeiten und aus Case Struktur weiterverarbeiten Tomate27 4 4.547 17.07.2020 13:30
Letzter Beitrag: Tomate27
  16bit Integer über Uart schicken floH857 2 3.666 10.01.2017 17:11
Letzter Beitrag: floH857
  3ten Wert auslesen und weiterverarbeiten MoJoJo 9 4.822 22.01.2015 09:19
Letzter Beitrag: Nordvestlys
  eine SGL-Variable in zwei 16Bit Int wandeln.. LV-Stu 9 7.118 25.11.2010 16:22
Letzter Beitrag: jg
  Eintrag im Kontextmenü weiterverarbeiten nixblicker 8 8.513 12.03.2010 09:50
Letzter Beitrag: nixblicker
  16Bit Word in Kommazahl über "type cast" oder "word to Integer"? pa647 2 5.300 31.07.2009 07:42
Letzter Beitrag: pa647

Gehe zu: