Hallo, bin gerade dabei ein kleines Progromm zu schreiben, um mit einem C zu kommunizieren. Die Materie ist noch völlig neu für mich. Bin soweit, dass ich Daten über den COM-Port senden kann. Ist ja kein Kunststück. Das ganze klappt auch ganz gut. Nur wenn ich Werte über 127d zeigt mir der Portmon immer 3Fh, also 63d an. (Die Ähnlichkeit zum Standartwert der Eigenschaft "ParityReplace" des SerialPort-Objektes ist rein "zufällig".) Baudrate = 11520k, Datenwortlänge = 8 Bit, keine Parity, ein Stopbit Vielen Dank für Anregungen zur Fehlersuche im Voraus.
Entwicklungsumgebung? Programmiersprache? Da das Progromm anscheinend klein ist, könntest Du es ja posten. Vielleicht hat jemand Lust, es auszuprobieren.
oh, sorry... programmiere mit ms visualbasic 2008 Express
die routine, die die daten sendet sieht so aus:
Dim h_str As String
Dim h_asc As Char
Dim h_dec As Char
Dim h_hex As Char
h_str = TextBox.Text
Select Case ComboBox_Format.SelectedIndex
Case 0 /'ASCII-Zeichen senden/
For i As Byte = 0 To h_str.Length - 1
h_asc = h_str.Substring(i, 1)
Try
SerialPort1.Write(h_asc)
Catch ex As TimeoutException
End Try
Next
Case 1 /'Dezimalzahl senden/
h_dec = Chr(Byte.Parse(h_str,
Globalization.NumberStyles.Number))
Try
SerialPort1.Write(h_dec)
Catch ex As TimeoutException
End Try
Case 2 /'Hex-Zhal senden/
h_hex = Chr(Byte.Parse(h_str,
Globalization.NumberStyles.HexNumber))
Try
SerialPort1.Write(h_hex)
Catch ex As TimeoutException
End Try
End Select
Der Fehler tritt in allen drei Cases auf.
Alles was die gesendeten Daten nicht beeinflusst, habe ich
rausgeschmissen.
Versuch's mal mit: SerialPort1.Encoding = System.Text.Encoding.Default
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.