Ich sende Daten vom Computer über einen Bluetooth-Dongle an einen Roboter.
Die serielle Schnittstelle befindet sich zwischen dem BT-Dongle und dem Computer.
Die über den SerialPort gesendeten Daten werden dann automatisch vom BT-Dongle gesendet.
Die gesendeten Daten enthalten
nur ASCII-Zeichen im Bereich von 0 bis 127.
Code: Alles auswählen
EnableExplicit
#Port = #Null
#COM = "COM3"
#Bauds = 115200
#Parity = #PB_SerialPort_MarkParity
#DataBits = 7
#StopBits = 1.5
#ControlMode = #PB_SerialPort_RtsCtsHandshake
#BufferSize = 32
Procedure.i SendData(Port.i, Information.s)
Protected.i CharLen = Len(Information)
Protected.i CharIndex = #Null
Protected.i Char = #Null
For CharIndex = 0 To CharLen-1
Char = Asc(Left(Right(Information, CharLen-CharIndex), 1))
If Char < 0 Or Char > 127
ProcedureReturn -1
EndIf
Next
ProcedureReturn WriteSerialPortString(Port, Information, #PB_Ascii)
EndProcedure
OpenSerialPort(#Port, #COM, #Bauds, #Parity, #DataBits, #StopBits, #ControlMode, #BufferSize, #BufferSize)
SendData(#Port, "test123 blablaaa")
Delay(30000)
Egal welche Werte ich für #DataBits verwende, ich empfange immer exakt die gesendeten Daten.