/ / Zwrot karetki połączenia szeregowego - vb.net, port szeregowy, powrót karetki

Zwrot karetki połączenia szeregowego - vb.net, port szeregowy, powrót karetki

Tworzę aplikację typu Hyperterminal w VB.NET i mają problem z połączeniem szeregowym. Kiedy wysyłam dane do urządzenia, otrzymuję odpowiedź, której oczekuję, ale z dodatkowym CR w odpowiedzi, tzn. Jeśli wyślę polecenie w Hyperterminal, otrzymuję odpowiedź taką jak;

response one
response two

Ale w mojej aplikacji wróci;

response one

response two

Kod jest następujący;

Private Sub textSend_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles textSend.KeyPress

If e.KeyChar = Convert.ToChar(Keys.Enter) Then

connSerial.Write(textSend.Text & vbCr)
textSend.Text = ""

e.Handled = True

End If

End Sub

i

Private Sub connSerial_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles connSerial.DataReceived
ReceivedText(connSerial.ReadExisting())
End Sub
Private Sub ReceivedText(ByVal [text] As String)
If Me.textReply.InvokeRequired Then
Dim x As New SetTextCallback(AddressOf ReceivedText)
Me.Invoke(x, New Object() {(text)})
Else
textReply.AppendText([text])
End If

End Sub

Używam 1200 szybkości transmisji i dosłownie każda linia jest oddzielona przez inną, jednak jeśli podniosę prędkość transmisji do 57600, zdarza się to tylko sporadycznie. To znaczy;

response 1
response 2
response 3

response 4
response 5

Odpowiedzi:

0 dla odpowiedzi № 1

Możesz użyć WriteLine Method zamiast Write Method

   If e.KeyChar = Convert.ToChar(Keys.Enter) Then
connSerial.WriteLine(textSend.Text & vbCr)
textSend.Clear();
e.Handled = True
End If