You are on page 1of 2

Schnittstellen GPIO Sensor Klasse

Sogenannte GPIO (engl. General Purpose Input/ Output = GPIO) ist eine Zusammenstellung
von Stifen (Pins). Dies ist die einfachste Mglichkeit, mit der in eingebettetes System mit
seiner Umgebung in Kontakt treten kann. Mit Hilfe des GPIO ist der Fuschalter in unseren
Aufgaben an Pin PB06 realisiert.
http://home.f1.htw-berlin.de/scheibl/netMF/index.htm?./Hardware/GPIO.htm
void init(Configuration::s_GPIOSensorConfig *thisGPIOSensorConfig_)
Initialisiert die entsprechenden Pins als Eingang, einschlielich Pull Up
Widerstand. bergabeparameter ist ein Zeiger auf die entsprechen GPIO
Seonsor Konfiguration.
Mit dem Pull Up Widerstand wird der GPIO Pin auf einen High Pegel
(Spannungswert) gezogen.
Struct s_GPIOSensorConfig
Diese Struktur beinhaltet die Konfigurationder GPIO und ist in configuration.h
implementiert.
Unsigned char port zum bergeben des Ports fr den GPIO-Pin (0 = Port PA; 1=
Port PB)
Unsigned long pin zum bergeben des Pins am entsprechenden Port
bool pullupEnabled zum aktivieren doer deaktivieren des Pull Up Widerstands
bool getValue (void)
Gibt den aktuellen Wert des Sensors zurck.
Rckgabewert true heit, dass der Anschlusspin High Level hat

Schnittstellen Timer Klasse


Sogenannten Timer spielen eine wichtige Rolle in dem Mikrocontroller. Mit ihrer
Hilfe ist es mglich, in regelmigen Zeitabstnden Aktionen zu veranlassen.
Auerem ist eine hufige Aufgabe fr Mikrocontroller die Erzeugung von PWM
Signalen, z.B fr Motorsteuerungen. In unserem Projekt sind die PWM Signalen
direkt mit den Timern verbunden und nutzen diese als Taktquelle.
Bool initTimer (unsigned long frequency)
Initialisiert den Timer. Wenn die Initialisierung erfolgreich war, werden die
Interrupts aktiviert. Wenn nicht werden Interrupts deaktiviert. bergabewert ist
die Frequenz des Timer.
Ein solches Ereignis von dem Timer ist Overflow. Der Timer ist ein bestimmtes
Register, deswegen ist dessen Bitbreite beschrnkt und es kommt natrlich vor,
dass der Zhler so hoch zhlt, dass der nchste Zhlerstand mit dieser Bitbreite
nicht mehr dargestellt werden kann, es fhrt dazu, der Zhler wieder auf 0
zurckgesetzt wird. Und es ist mglich dieser Overflow einen Interrupt zu
koppeln.

http://www.mikrocontroller.net/articles/AVRGCCTutorial/Die_Timer_und_Z
%C3%A4hler_des_AVR#8-Bit_Timer.2FCounter

Void setIsTimerEnabled (bool enabled)


Aktivert oder deaktivert den Timer
Void setIsTimerInterruptEnabled (bool enabled)
Aktivert oder deaktivert die Interrupts die durch den Timer geworfen werden
mssen.
Static void resetInterruptFlag (void)
Liest das Interrupt Statusregister um den Interrupt zurckzusetzen
Bool getIsTimerEnabled (void)
Gibt true zurck, wenn Timer aktiviert ist
Bool getIsTimerInterruptEnabled (void)
Gibt true zurck, wenn Interrupts aktiviert sind

You might also like