Hallo alle! Ich bin nue in der Welt der Mikrocontroller programmierung
und hab natürlich ein paar Probleme mich zurechtzufinden.
Ich hab ein Assembler Programm was dauerhaft den Text: "TEST! " (Mit
einem Leerzeichen am Ende) über die serielle Schnittstelle an den Pc
sendet. das funktioniert soweit gut.
Jetzt empfange ich die Daten mit Hilfe des DataRecieved Handlers:
1 | Private Sub cPort_DataReceived(ByVal sender As System.Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles cPort.DataReceived
|
2 | Dim B(100) As Byte
|
3 | Dim D, I As Integer
|
4 | Dim Str As String = ""
|
5 |
|
6 | D = cPort.Read(B, 0, 5)
|
7 | For I = 0 To D - 1
|
8 | If B(I) = 13 Then
|
9 | Str = Str + vbCrLf
|
10 | Else
|
11 | Str = Str + Chr(B(I))
|
12 | End If
|
13 | Next
|
14 | MsgBox(Str)
|
15 | End Sub
|
Allerdings bekomme ich meistens nicht den erwarteten String: "TEST! ",
sondern verschiedene Strings wie "ST! TE". Das liegt denke ich an der
Stopbit erkennung doch wie bekomm ich eindeutige ergebnisse? (Ich möchte
im Endeffekt Zahlenwerte (Drehzahlmesser) über die Schnittstelle an den
PC versenden)