German Kommunikation über ttyS1

jsk001

Member
Licensed User
Longtime User
Hallo,

ich habe ein Problem mit der Kummunikation über den seriellen Port /dev/ttyS1.
Bei der Kommunikation per Bluetooth gibt es keine Probleme.
Die seriellen Daten werden empfangen und auch gesendet.
Wenn die Kommunikation über die UART (/dev/ttyS1) geht, empfange ich zwar alle Daten, aber beim Senden mache ich irgend etwas falsch. Das Gerät reagiert nicht auf die gesendeten Daten. (unten die wichtigsten Auszüge aus dem Programm)
Ich hoffe sehr, daß mir hier jemand helfen kann. Danke im Voraus

Sub Process_Globals
Dim GPS1 As GPS
Dim Serial1 As Serial
Dim sout As OutputStream ' serial out stream
Dim sinp As InputStream ' serial in stream
Dim outpkt(1024) As Byte ' serial comm output packet (buffer)
Dim inpkt(1024) As Byte ' serial comm input packet (buffer)
Dim AStreams As AsyncStreams
End sub

Sub Activity_Create(FirstTime As Boolean)
If FirstTime Then
Serial1.Initialize("Serial1")
sout = File.OpenOutput("","/dev/ttyS1",True) ' open serial output
sinp = File.OpenInput("","/dev/ttyS1") ' open serial input
End If
End Sub

Sub SendCommand_Click
'-----------------------------------------------------------------------------------------
' Senden per Bluetooth - Kommando wird korrekt gesendet und das Gerät antwortet korrekt
' in EditText1.text steht z.B. "$Pfal,Sys.Device.Reset"
'-----------------------------------------------------------------------------------------
If bt_connected Then
StatusPfal.text=""
TextWriter1.WriteLine(EditText1.text & Chr(13))
TextWriter1.Flush
End If

'-----------------------------------------------------------------------------------------
'Senden per ttyS1 - Gleicher String, aber keine Reaktion des Gerätes
'-----------------------------------------------------------------------------------------
If serial_connected Then
Dim SendData As String:SendData=EditText1.text & Chr(13)
outpkt = SendData.GetBytes("UTF8")
Dim AnzBytes As Int:AnzBytes=outpkt.Length
StatusPfal.text=""
sout.WriteBytes(outpkt, 0, AnzBytes)
sout.Flush ' send to serial port
End If
End Sub
 
Last edited:
Top