toter_fisch
03.03.2012, 10:28
Hallo, ich habe ein Problem mit dem EasyRadio. Ich habe eins am PC und eins am Roboter.
Nun kann ich am Roboter "Hello" senden und ich empfange es am PC. Wenn ich nun aber einen Befehl zum Board senden will, kommt am Anfang erstmal ER. Dann wird der Befehl mal empfangen, mal nicht, mal kommen Zahlen zurück und manchmal startet das EasyRadio neu. Die EasyRadios sind beide richtig konfiguriert.
Hier mal der Code für das Controller-Board:
$regfile = "m32def.dat"
$crystal = 8000000
$baud = 19200
Dim Befehl As String * 2
Declare Sub 10()
'---> einstellungen für easyradio <---------------
Print "ER_CMD#U4"
Waitms 100
Print "ACK"
Wait 1
Print "ER_CMD#H2"
Waitms 100
Print "ACK"
Waitms 500
Print "ER_CMD#P9"
Waitms 100
Print "ACK"
Waitms 500
Print "ER_CMD#C7"
Waitms 100
Print "ACK"
Waitms 500
Wait 1
'systembereitschaft anzeigen
Print "test.."
Wait 1
Print "ready!"
Do
Print "Hello"
Input Befehl
If Befehl = "10" Then
Call 10()
Else
befehl = ""
Loop
Sub 10()
Print "that was 10!"
befehl = ""
End Sub
End If
Ich denke der Fehler liegt am Code. Wie kann ich den Controller so programmieren, das er z.B. beim Befehl "10" ein "OK" als Bestätigung zurückgibt?
Gruß toter_fisch
Nun kann ich am Roboter "Hello" senden und ich empfange es am PC. Wenn ich nun aber einen Befehl zum Board senden will, kommt am Anfang erstmal ER. Dann wird der Befehl mal empfangen, mal nicht, mal kommen Zahlen zurück und manchmal startet das EasyRadio neu. Die EasyRadios sind beide richtig konfiguriert.
Hier mal der Code für das Controller-Board:
$regfile = "m32def.dat"
$crystal = 8000000
$baud = 19200
Dim Befehl As String * 2
Declare Sub 10()
'---> einstellungen für easyradio <---------------
Print "ER_CMD#U4"
Waitms 100
Print "ACK"
Wait 1
Print "ER_CMD#H2"
Waitms 100
Print "ACK"
Waitms 500
Print "ER_CMD#P9"
Waitms 100
Print "ACK"
Waitms 500
Print "ER_CMD#C7"
Waitms 100
Print "ACK"
Waitms 500
Wait 1
'systembereitschaft anzeigen
Print "test.."
Wait 1
Print "ready!"
Do
Print "Hello"
Input Befehl
If Befehl = "10" Then
Call 10()
Else
befehl = ""
Loop
Sub 10()
Print "that was 10!"
befehl = ""
End Sub
End If
Ich denke der Fehler liegt am Code. Wie kann ich den Controller so programmieren, das er z.B. beim Befehl "10" ein "OK" als Bestätigung zurückgibt?
Gruß toter_fisch