Atmel AVR2070 Bedienungsanleitung Seite 38

  • Herunterladen
  • Zu meinen Handbüchern hinzufügen
  • Drucken
  • Seite
    / 59
  • Inhaltsverzeichnis
  • LESEZEICHEN
  • Bewertet. / 5. Basierend auf Kundenbewertungen
Seitenansicht 37
5 Portierung von ContikiOS 2.4
innerhalb der Header-Datei mit der Bezeichnung aus der in Kapitel 5.1 bekannt zu
machen, da ansonsten beim Compilieren ein Fehler wegen der fehlenden Identifizierung
der Hardware-Plattform auftreten würde. Zudem ist es wegen der unterschiedlichen
Arbeitsweise der Transceiver-Einheiten des Raven-Boards und des ATmega128RFA1
notwendig, einige Makros neu zu definieren, über die der Zugriff auf das TRXPR-Register
gesteuert wird. Listing 5.2 zeigt die notwendigen Veränderungen an den Makros der
Headerdatei.
1 # if defined ( _ _AVR _ ATm e ga1 2 8RF A 1__ )
2
3 /* pull the RST pin low */
4 # define h al_se t_rst _ low () ( TRXPR &= ~(1 << TRXRST ))
5
6 /* pull the RST pin high */
7 # define h al_s e t_rs t _high () ( TRXPR |= (1 << TRXRST ))
8
9 /* pull the SLP_TR pin high */
10 # define h al_s et_s l ptr_ high () ( TRXPR |= (1 << SLPTR ))
11
12 /* pull the SLP_TR pin low */
13 # define h al_s e t_sl ptr_l ow () ( TRXPR &= ~(1 << SLPTR ))
14
15 /* read current state of the SLP_TR pin */
16 # define h al_get _ slptr () ( TRXPR & (1 << SLPTR ))
Listing 5.2: Pin-Makros innerhalb der Datei hal.h
halbb.c
Innerhalb der Datei halbb.c werden die in der Headerdatei hal.h deklarierten Prototypen
implementiert. Da die Anpassung an die Steuerung der Transceiver-Einheit des ATme-
ga128RFA1 bereits innerhalb der Header-Datei geschieht, brauchen hier außer der Einfü-
gung der Registermap des ATmega128RFA1 keine weiteren Änderungen vorgenommen zu
werden. Die Dateien hal.h und halbb.c dienen der Abstraktion der Transceiver-Hardware
und können somit als Low-Level Treiber betrachtet werden.
rf230bb.h
Die Header-Datei rf230bb.h beinhaltet ebenfalls Definitionen, Makros und Prototypen für
die Steuerung der Transceiver-Einheit. Allerdings wird hier eine Schicht höher angesetzt,
als bei den Anweisungen innerhalb der Datei hal.h. Dies bedeutet, dass an dieser Stelle nicht
mehr direkt auf die Hardware zugegriffen wird, sondern bereits zuvor definierte Funktionen
des Low-Level Treibers genutzt werden. Außer der Einfügung der Registermap des
ATmega128RFA1 sind daher keine Änderungen innerhalb der Datei rf230bb.h notwendig.
33
Seitenansicht 37
1 2 ... 33 34 35 36 37 38 39 40 41 42 43 ... 58 59

Kommentare zu diesen Handbüchern

Keine Kommentare