somewhere
27.09.2006, 23:32
Ich kämpfe nun schon seit 3 Stunden mit folgendem Problem.
Ich baue eine Zeitnehmung, welche am Wochenende den ersten Test bestehen soll.
Bin nun beim Testen der Kommunikation.
Konfiguration:
rn-funk seriell an rn-minicontrol angeschlossen.
Einstellung:
Standard Settings von EasyRadio, also 19200 Baud und kein Handshake.
Versuche nun folgenden Test:
' Schaltet auf höchste Sendeleistung 10 mW
' Waitms 500
Rueck = Rn_sendefunkbefehl( "ER_CMD#P9")
If Rueck <> 0 Then Set Error
Locate 2 , 1
Lcd Rueck
' Setze Kommunikationskanal (Kanal #0)
Waitms 500
Rueck = Rn_sendefunkbefehl( "ER_CMD#C0")
If Rueck <> 0 Then Set Error
Locate 3 , 1
Lcd Rueck
End 'end program
'Sendet EasyRadio Befehl und prüft ob korrekt empfangen
'Rückgabe: 0=Erfolgreich 1=Fehler
Function Rn_sendefunkbefehl(byval Funkbefehl As String) As Byte
Local Sech As String * 20
Local Z As Byte
Locate 1 , 1
Print Funkbefehl;
Print "ACK"
Waitms 20
Sech = ""
Do 'Auf Echo warten
Z = Inkey()
Sech = Sech + Chr(z)
Loop Until Z = 0
Lcd Sech
If Left(sech , 9) = Funkbefehl Then
Rn_sendefunkbefehl = 0
Else
Rn_sendefunkbefehl = 1
End If
End Function
'Empfängt Datenstring (Holt alles aus dem Eingabebuffer)
'Rückgabe: 0=Erfolgreich 1=Fehler
Function Rn_empfange_funkstring(dat As String) As Byte
Local Z As Byte
Waitms 20
Dat = ""
Do 'Auf Echo warten
Z = Inkey()
If Z <> 0 Then Dat = Dat + Chr(z)
Loop Until Z = 0
Rn_empfange_funkstring = 0
End Function
Habe nun folgendes Problem:
Easyradio sendet als Echoimmer nur die ersten beiden und den letzten Character des Befehlsstrings als Echo zurück.
Verkürze ich die Wartezeiten erhalte ich noch weniger, längere Wartezeiten brigen kein besseres Ergebnis.
Da ich ein korrektes Echo als fehlerfreies Arbeiten der rn-funk auswerte, erhalte ich immer einen Fehler und kann die Anlage nicht starten.
Hat jemand von Euch eine Idee, was der Grund für dieses verstümmelte Echo sein kann ????
Danke
Ich baue eine Zeitnehmung, welche am Wochenende den ersten Test bestehen soll.
Bin nun beim Testen der Kommunikation.
Konfiguration:
rn-funk seriell an rn-minicontrol angeschlossen.
Einstellung:
Standard Settings von EasyRadio, also 19200 Baud und kein Handshake.
Versuche nun folgenden Test:
' Schaltet auf höchste Sendeleistung 10 mW
' Waitms 500
Rueck = Rn_sendefunkbefehl( "ER_CMD#P9")
If Rueck <> 0 Then Set Error
Locate 2 , 1
Lcd Rueck
' Setze Kommunikationskanal (Kanal #0)
Waitms 500
Rueck = Rn_sendefunkbefehl( "ER_CMD#C0")
If Rueck <> 0 Then Set Error
Locate 3 , 1
Lcd Rueck
End 'end program
'Sendet EasyRadio Befehl und prüft ob korrekt empfangen
'Rückgabe: 0=Erfolgreich 1=Fehler
Function Rn_sendefunkbefehl(byval Funkbefehl As String) As Byte
Local Sech As String * 20
Local Z As Byte
Locate 1 , 1
Print Funkbefehl;
Print "ACK"
Waitms 20
Sech = ""
Do 'Auf Echo warten
Z = Inkey()
Sech = Sech + Chr(z)
Loop Until Z = 0
Lcd Sech
If Left(sech , 9) = Funkbefehl Then
Rn_sendefunkbefehl = 0
Else
Rn_sendefunkbefehl = 1
End If
End Function
'Empfängt Datenstring (Holt alles aus dem Eingabebuffer)
'Rückgabe: 0=Erfolgreich 1=Fehler
Function Rn_empfange_funkstring(dat As String) As Byte
Local Z As Byte
Waitms 20
Dat = ""
Do 'Auf Echo warten
Z = Inkey()
If Z <> 0 Then Dat = Dat + Chr(z)
Loop Until Z = 0
Rn_empfange_funkstring = 0
End Function
Habe nun folgendes Problem:
Easyradio sendet als Echoimmer nur die ersten beiden und den letzten Character des Befehlsstrings als Echo zurück.
Verkürze ich die Wartezeiten erhalte ich noch weniger, längere Wartezeiten brigen kein besseres Ergebnis.
Da ich ein korrektes Echo als fehlerfreies Arbeiten der rn-funk auswerte, erhalte ich immer einen Fehler und kann die Anlage nicht starten.
Hat jemand von Euch eine Idee, was der Grund für dieses verstümmelte Echo sein kann ????
Danke