PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Empfangener Text wird nach 8 Zeichen umgebrochen, Warum?



Wasi
24.10.2005, 09:54
Hallo,

ich sende einen Text über die RS232 wie folgt,


$regfile = "8515def.dat"


$baud = 9600
$crystal = 3686400

Do
Wait 1

Print "123456789"
Loop
End

Wenn ich diesen Text dann empfange wird dieser immer nach 8 Zeichen
umgebrochen.

Warum ist das so, und wie kann ich das ändern?

PicNick
24.10.2005, 10:07
Würd' ich eher die Terminalemulation verdächtigen.
1 Was verwendest du ?
2 Provozier' ihn mal und sende was ellenlanges.
(print "1234567890123456789012345678901234567890")
macht er immer nach 8 Zeichen einen Vorschub, oder wie verhält er sich ?)

Andree-HB
24.10.2005, 10:08
sehr ungewöhnlich, es sollte schon immer zeileinweise der Text in den Klammern dargestellt werden. Sind im Terminal irgendwelche Empfangspuffer oder so eingestellt ? Vielleicht einfach mal ein anderes probieren!

Wasi
24.10.2005, 10:18
Hallo,

kann Natürlich auch am empfangen liegen, ich verwende zum
Empfangen Visual Basic 6 und der Code sieht wie folgt aus:



Private Sub MSComm1_OnComm()

Dim werte As String

Select Case MSComm1.CommEvent
Case comEvSend ' sende puffer jetzt leer (hier braucht nichts getan zu werden)
Case comEvReceive ' es wurden daten empfangen
werte = MSComm1.Input

If werte <> "" Then
Text1.Text = Text1.Text & werte & vbCrLf
End If
End Select

End Sub


Der Text wird immer nach 8 zeichen umgebrochen, egal wie lang er ist.

PicNick
24.10.2005, 10:23
Naja, werter Kollege, du nimmst das, was grad im Buffer ist und hängst höchstpersönlich einen Umbruch an. Der Buffer hat wahrscheinlich 8 Byte
Wie so hängst du Zeichen an ? wenn CRLF, dann soll dir das der Controller schicken, der weiß ja besser, wann ein Umbruch notwendig ist.
Also besser:
If werte <> "" Then
Text1.Text = Text1.Text & werte
End If

Wasi
24.10.2005, 10:26
Danke Robert,

ich hab es auch gerade mit bekommen, das der Umbruch gesendet werden
soll und nicht beim empfang.

Danke.