Arexx RP6 V2 Build your own robot kit RP6 V2 Manual Do Utilizador

Códigos do produto
RP6 V2
Página de 141
RP6 ROBOT SYSTEM -  4. Programmierung des RP6
4.6. RP6 Funktionsbibliothek (RP6Library)
Die RP6 Funktionsbibliothek, auch RP6Library oder kurz RP6Lib genannt, bietet viele 
nützliche Funktionen um die Hardware des RP6 anzusteuern. Über die meisten hard-
warespezifischen   Dinge   muss   man   sich   damit   (eigentlich)   keine   Gedanken   mehr 
machen. Sie müssen also natürlich nicht das über 300 Seiten starke Datenblatt des 
ATMEGA32 gelesen  haben  um den Roboter programmieren  zu können! Es ist aber 
sehr   nützlich,   wenn   man   trotzdem   grundlegend   nachvollzieht,   was   die   RP6Library 
Funktionen   machen.   Außerdem   sind   viele   Funktionen   in   der   RP6Library   absichtlich 
nicht ganz perfekt – so bleibt für Sie auch noch etwas zu tun!
Man könnte noch so einige Zusatzfunktionen hinzufügen und vieles optimieren! Die 
Funktionen der RP6Library verstehen sich als Grundlage, auf der man aber sehr gut 
aufbauen kann. 
In   diesem   Abschnitt   beschreiben   wir   die   wichtigsten   Funktionen   und   geben   kleine 
Beispiele. Wer  weitere   Informationen  dazu  benötigt,  sollte  die  Kommentare  in  den 
Dateien der Library lesen und sich die Funktionen und Beispiele genau ansehen und 
nachvollziehen. 
4.6.1. Mikrocontroller initialisieren
void initRobotBase(void)
Diese Funktion müssen Sie IMMER als erstes in der Main Funktion aufrufen! 
Sie initialisiert die Hardwaremodule des Mikrocontrollers. Nur wenn Sie diese Funktion 
als erstes aufrufen, wird der Mikrocontroller so arbeiten, wie wir es für den RP6 benö-
tigen! Ein Teil wird zwar schon vom Bootloader initialisiert, aber nicht alles.
Beispiel:
1  
2
3
4
5
6
7
8
9
10
11
12   
#include "RP6RobotBaseLib.h"
int
 main(
void
)
{
initRobotBase(); 
// Initialisierung – IMMER ALS ERSTES AUFRUFEN!
// [...] Programmcode...
while
(
true
);     
// Endlosschleife
return
 
0
;
}
Jedes RP6 Programm muss mindestens so ausschauen! Die Endlosschleife in 
Zeile 9 ist notwendig, um ein definiertes Ende des Programms zu garantie-
ren! 
Ohne diese Schleife könnte sich das Programm anders verhalten als erwartet!
Nur um das zu verdeutlichen: Normalerweise führt man in der Endlosschleife eigenen 
Programmcode aus, also würde man hier in Zeile 9 das Semikolon löschen und statt-
dessen  einen  Block  (zwei  geschweifte  Klammern)  einfügen  in  den  das  eigene  Pro-
gramm kommt. Vor der Main Funktion (also Zeile 2) kann man eigene Funktionen 
definieren, die man dann aus der Hauptschleife beliebig oft aufrufen kann. 
- 80 -