Gast
#207783
Hallo,
ich habe gelesen, dass durch eine Manchestercodierung die Reichweite
einer Funkverbindung etwas erhöht werden kann. Bisher habe ich die zu
sendenen Bytes einfach mit dem Print-Befehl (übe noch mit Bascom) auf
die serielle Schnittstelle gegeben. Byte für Byte...vorher noch eine
Preambel und nachher eine Prüfsumme.
Im Netz habe ich diesen Beispielcode für die Codierung gefunden:
Declare Function M2b(byval Minput As Word) As Byte
Declare Function B2m(byval Binput As Byte) As Word
Dim W As Byte
Dim W2 As Word
Dim I As Byte
Dim I2 As Byte
Dim S As String * 16
'W = M2b(&B)
'W2 = B2m(&B11100110)
Function M2b(byval Minput As Word) As Byte
For I = 0 To 15 Step 2
I2 = I / 2
Select Case Minput.i
Case 1 : M2b.i2 = 0
Case 0 : M2b.i2 = 1
End Select
Next
End Function
Function B2m(byval Binput As Byte ) As Word
For I = 7 To 0 Step -1
Select Case Binput.i
Case 0 : S = S + "01"
Case 1 : S = S + "10"
End Select
Next
B2m = Binval(s)
End Function
End
Wenn ich nun so ein Byte in den ManchesterCode wandle habe ich ja ein
16Bit-Wort.
Kann ich das dann auch einfach auf die Schnittstelle geben?
Es werden dann doch daraus zwei Bytes, oder ??
Wie löst man das am Empfänger ?
Kann man den UART überhaupt nutzen.
Fragen über Fragen.... könnt Ihr mir auf die Sprünge helfen ??
Vielen Dank an alle
Nillo