User manual

ASURO - 68
-
9. C für ASURO
9.2.7. void MotorSpeed(unsigned char left_speed, unsigned char right_speed)
Hier wird die Geschwindigkeit der Antriebsmotoren vorgegeben. Der maximal mögliche
Geschwindigkeitswert ist 255 (unsigned char). Der Motor fängt sich erst ab einem Wert von ca.
60 zu drehen an. (Hängt stark vom mechanischen Zusammenbau ab.) Der eingestellte Wert gibt
eigentlich nur an, welche elektrische Leistung die Motoren erhalten sollen. Welche tatsächliche
Drehzahl resultiert, hängt auch noch von anderen Faktoren wie der Reibung oder der Steigung ab.
Beispiel:
Der linke Motor soll sich mit maximaler Geschwindigkeit drehen, der rechte Motor gar nicht. Die
Drehrichtung ist mit der Funktion MotorDir() schon vorgegeben.
MotorSpeed (255,0) ;
9.2.8. void SerWrite(unsigned char *data, unsigned char length)
Mit dieser Funktion werden Daten von ASURO über die serielle IR-Schnittstelle mit 2400Bit/s,
No-Parity, 1 StopBit, NoFlowControl ausgegeben.
Das ist die gleiche Einstellung, wie sie auch
beim Testen des IR-Transceivers benutzt wird (wer hätte das gedacht).
Im ersten Parameter wird
die Adresse auf die zu sendenden Daten übergeben. Der zweite Parameter gibt an, wieviele Bytes
übertragen werden sollen.
Beispiel:
Die Zeichenkette „Hallo Du Da !“ soll über die serielle IR-Schnittstelle gesendet werden.
SerWrite(“Hallo Du Da!”,12);
9.2.9. void SerRead(unsigned char *data, unsigned char length, unsigned int timeout)
Wenn man schon Daten über die serielle IR-Schnittstelle senden kann, so möchte man vielleicht
auch mal welche empfangen. Dazu gibt es diese Funktion. Der erste Parameter ist der Zeiger auf
die Speicherstelle, in der die empfangenen Daten abgelegt werden sollen. Der zweite Parameter
gibt an, wieviele Datenbytes erwartet werden. Der dritte und letzte Parameter stellt ein Timeout
dar. Hiermit kann dafür gesorgt werden, dass die Funktion nicht unendlich lange auf Daten
wartet. Wird nach einer gewissen Zeitspanne kein Zeichen mehr empfangen, wird diese Funktion
einfach abgebrochen. Das allererste Zeichen in den empfangen Daten wird dabei mit ’T’ (Timeout)
überschrieben. Trägt man als dritten Parameter ’0’ ein, wartet die Funktion solange, bis die Anzahl
der im zweiten Parameter eingestellten Bytes empfangen wurde.
Sobald diese Funktion benutzt wird, kann ASURO losfahren. Manchmal ist das
Ergebnis der Programmierung nicht das beabsichtigte, sodass dafür gesorgt werden
muss, das ASURO durch plötzliche Fahrmanöver weder sich noch andere in
Gefahr bringen kann.