Arexx RP6 V2 Build your own robot kit RP6 V2 사용자 설명서
제품 코드
RP6 V2
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
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
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
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
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
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.
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ö-
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:
Beispiel:
1
2
2
3
4
4
5
6
6
7
8
8
9
10
10
11
12
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-
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
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 -