PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Binäre Ausgabe mit VB6 und MSComm?



Sommer
15.12.2004, 19:41
Hi Leute,

kann mir einer von euch weiterhelfen?

Also ich hab nun meine Programm soweit das ich über MSComm1.input auf Binär eingestellt nicht auf Text meine Daten auslesen kann.
Will ich aber über MSComm1.output senden dann macht er mir ja wieder
die ASCII Zeichen wie kann ich das einstellen?
Ich will die Zahlen 0--127+checksum genauso versenden wie ich sie empfange beim empfang kann ich ja auf Binär umstellen, aber wie geht des beim Senden? ](*,)

MSComm1.Output =bin(126) oder so geht nicht hab ich Probiert ;-)


Danke an alle die mir helfen können.


By.... Ulli

Pascal
15.12.2004, 19:54
hab ich das richtig verstanden? du willst über das MSComm Daten an die serielle Schnittstelle senden
wieso soll das in Binärdarstellung geschehen? es ist doch prinzipiell total egal, in welchem Zahlensystem man eine Zahl angibt, ändern tut sich an der Zahl nichts (nur haben die einzelnen Systeme bei gewissen Vorhaben gewisse Vorteile)
du schreibst in MSComm1.output einfach eine normale Zahl von 0 bis 255, die dann übertragen wird
kann es sein, dass du dir unter binär was anderes vorstellst? nämlich eine Zahl von 0 bis 255, die du dann in das entsprechende ASCII-Zeichen umwandeln kannst(Befehle für VB könnt ich raussuchen)

Sommer
15.12.2004, 20:01
Hi,

ja genau so also i sende ja mit MSComm1.Output = "255" die zahl 255 in ASCII das kann ich aber nicht gebrauchen da meine Werte Binär kommen und ich über VB ja bei Input auf binär gestellt habe und diese auch wieder so zurücksenden will.

Ich hoffe ich habs richtig dargestellt ;-)

also keine ASCII Wandlung.

Danke schon mal für deine Antwort.

By.. Ulli

Pascal
15.12.2004, 20:10
ich versteh dein Problem irgendwie nicht...du bekommst deine Daten doch auf jeden Fall binär, die serielle Schnittstelle überträgt die Daten Bit für Bit, nur von der Software werden sie dann entsprechend umgewandelt, manchmal eben als Zahl und manchmal wird dann die Zahl in das entsprechende ASCII-Zeichen umgewandelt, je nach Anforderung
und, wenn du Daten sendest, geschieht das auch binär, also Bit für Bit, auch wenn du in .output eine Zahl aus dem Zehnersystem schreibst

ich hab grad deinen Coder nochmal genau angeschaut, lass mal die Anführungszeichen weg, also:
MSComm1.output = 255
dann wird die Zahl 255, binär 11111111, gesendet

Sommer
15.12.2004, 22:53
Hi,

neine da bringt er mir nen Fehler das hab ich auch schon Probiert ;-)
Gibts da evt. nen Befehl das er es nicht ASCII Codiert sendet?

Er dart nur nicht das ASCII Format verwenden.

Danke.

By.. Ulli

Johannes
16.12.2004, 08:16
Hast du keine MSDN Library? Da steht doch alles drin:

--
Objekt.Output [ = Wert ]

Die Output-Eigenschaft kann Textdaten oder Binärdaten übertragen. Damit mit der Output-Eigenschaft Textdaten übertragen werden können, müssen Sie einen Wert vom Typ Variant angeben, der eine Zeichenfolge enthält. Damit Binärdaten übertragen werden können, müssen Sie einen Wert vom Typ Variant an die Output-Eigenschaft übergeben, in dem ein Byte-Datenfeld enthalten ist.
--

Viel Erfolg

Gruß
Johannes

Sommer
16.12.2004, 10:50
Hi,

ja hab i schon hab schon gesucht.
Also i hab´s gelöst mit Dim () As Integer geht des auch ;-)

Ja jetzt muss i mal spielen!

Wenn euch noch ne Lösung einfällt wie es noch geht wäre Coll.

By... Ulli

17.01.2005, 20:12
Hallo,

schau Dir mal diesen Artikel an:



http://support.microsoft.com/kb/q154741/



gruss arno

08.02.2005, 16:48
chr()
bzw asc()

lol ok ich such aber genau was anneres :D
*weitersuch*