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.