Hauptseite   Module   Alphabetische Liste   Datenstrukturen   Datenstruktur-Elemente   Zusätzliche Informationen  

LED Balken


Balkengrafik

#define LED_BAR   (_BV(0))
 Bytewert zum Aktivieren der LED Balkengrafik.

#define LED_POINT   (~(_BV(0)))
 Bytewert zum Aktivieren der LED Punktgrafik.

#define LED_MARGIN(M)   (((M) & 0x7) << 1)
 Bytewert zum Festlegen des Null- bzw. Bezubgspunktes für die LED Grafik.

void led_graph_control (int led_maxlevel, signed char led_options)
 Verändert die interne Arbeitsweise der LED Grafik.

void led_graph_put (int bitset_level)
 Gibt einen Wert als LED Grafik aus.


Low-Level Zugriff

void led_init (void)
 LED Port initialisieren.

void led_cls (void)
 LED Balken löschen.

void led_put (unsigned char bitset)
 LED Balken beschreiben.

unsigned char led_get (void)
 LED Balken zurücklesen.

void led_clear (void)
 LED Balken löschen.


Ausführliche Beschreibung

#include <avrhal/led.h> 

Diese Headerdatei deklariert zunächst einen Low-Level Zugang für einen LED Balken. Dabei werden immer exakt 8 Bits (LEDs) des LED Ports benutzt. Der LED Port ist auf PORTB festgelegt.

Darüber hinaus existiert eine zur Laufzeit parametrisierbare LED Grafik mit Normierung. Hierbei kann man den Nullpunkt zwischen der untersten und der obersten LED frei definieren und wenn nötig nachträglich verschieben. Somit ist die Anzeige von positiven und negativen Werten möglich. Diese können dann je nach Einstellung als Punkt (eine LED) oder als Balken in Bezug zum Nullpunkt dargestellt werden. Mehr dazu bei der Beschreibung der Funktion led_graph_control().

Die Arbeitsweise der LED Grafik wird durch zwei interne Parameter bestimmt, welche mit led_graph_control() verändert werden können. Alle Ausgaben müssen dann mit led_graph_put() erfolgen.

Vor der Benutzung der LED Funktionen, muß dieser Teil der Bibliothek mit led_init() initialisiert werden.

Noch zu erledigen:
Überführung der Initialisierung nach Sektion .init1

Parametrisierung über mehrere Ports verstreuter Bits.


Makro-Dokumentation

#define LED_MARGIN      (((M) & 0x7) << 1)
 

Bytewert zum Festlegen des Null- bzw. Bezubgspunktes für die LED Grafik.

Parameter:
M  ist dabei das (LED-)Bit für den Nullpunkt.


Dokumentation der Funktionen

void led_clear void    [inline, static]
 

LED Balken löschen.

Macht das Gleiche wie led_cls(). Setzt alle Bits auf den inaktiven Zustand (OFF(0) value).

Rückgabe:
Die Funktion led_clear() besitzt keinen Rückgabewert.

void led_cls void    [inline, static]
 

LED Balken löschen.

Setzt alle Bits auf den inaktiven Zustand (OFF(0) value).

Rückgabe:
Die Funktion led_cls() besitzt keinen Rückgabewert.

unsigned char led_get void    [inline, static]
 

LED Balken zurücklesen.

Gibt den Wert der aktuell gesetzten LED Ausgabebits zurück.

Rückgabe:
Mit der Funktion led_get() wird das aktuelle Bitmuster vom LED Port zurückgelesen.

void led_graph_control int    led_maxlevel,
signed char    led_options
 

Verändert die interne Arbeitsweise der LED Grafik.

Als Basisinitialisierung der LED Grafik ist die unterste LED als Nullpunkt eingestellt (Bit 0) und es gibt keine Normierung. Die Funkltion led_graph_put() verhält sich somit wie led_put().

Mit der Funktion led_graph_control() kann diese Arbeitsweise verändert werden. Hierzu wird der maximal darstellbarer Realwert led_maxlevel für die Normierung und das Optionsfeld led_options übergeben. Durch das Optionsfeld wird zwischen Punkt- oder Balkengrafik entschieden (GM) und es wird das Bit für den Bezugs- bzw. Nullpunkt der Grafik festgelegt (ZPB). Die Bedeutung der Bits im Optionsfeld zeigt die folgende Abbildung.

     ___ ___ ___ ___ ___ ___ ___ ___
    |   |   |   |   |   |   |   |   |
    | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | - led_options
    |___|___|___|___|___|___|___|___|
      |___________|   |_______|   |____ graph mode (GM):
              |           |                 0 : dot graph
              |           |                 1 : bar graph
              |           |    
              |           |____________ zero point bit (ZPB):
              |                           000 : LED Port Bit 0
              |                           001 : LED Port Bit 1
              |                           010 : LED Port Bit 2
              |                             . . .
              |                           111 : LED Port Bit 7
              |
              |________________________ unused
    

Die folgende Abbildung zeigt ein kurzes Beispiel. Dabei wird die Balkengrafik (GM=1) der zugehörigen Punktgrafik (GM=0) gegenüber gestellt. Der Nullpunkt ist mit ZBP=010 auf das LED Port Bit 2 festgelegt. Der mit der Funktion led_graph_put() übergebene Anzeigewert bitset_level wird mit dem Wert led_maxlevel normiert an LED Port Bit 6 ausgegeben. Die LED Port Bits 0 bis 1 sind der negative Anzeigebereich.

led_graph.png

LED Grafik Beispiel

Parameter:
led_maxlevel  ist der maximal darstellbarer Realwert und wird für die Normierung benutzt. Der Wert muß ungleich Null und größer 8 oder kleiner -8 sein. Erfüllt der Wert diese Regel nicht, wird die Normierung deaktiviert. Der Wert kann auch negativ sein. Dann sollte der Bezugspunkt (Nullpunkt) auf einen Wert größer Null gesetzt werden.
led_options  definiert die Arbeitsweise der LED Grafik. Siehe oben.
Rückgabe:
Die Funktion led_graph_control() besitzt keinen Rückgabewert.

void led_graph_put int    bitset_level
 

Gibt einen Wert als LED Grafik aus.

Je nach Parametrisierung durch led_graph_control() wird mit dieser Funktion der übergebene Wert zunächst normiert und dann als Grafik ausgegeben.

Zu beachten:
Ist keine Normierung eingestellt, so wird der angegebene Wert mit led_put() direkt als Bitmuster ausgegeben!
Parameter:
bitset_level  ist eine positive oder negative ganze Zahl, die je nach Konfiguration der LED Garfik angezeigt wird.
Rückgabe:
Die Funktion led_graph_put() besitzt keinen Rückgabewert.

void led_init void    [inline, static]
 

LED Port initialisieren.

Initialisiert den LED Port zur Byteausgabe (alle 8 Bits).

Rückgabe:
Die Funktion led_init() besitzt keinen Rückgabewert.

void led_put unsigned char    bitset [inline, static]
 

LED Balken beschreiben.

Setzt alle Bits auf den angegebenen Wert bitset.

Parameter:
bitset  ist vom Typ unsigned char und wird als auszugebendes Bitmuster interpretiert.
Rückgabe:
Die Funktion led_put() besitzt keinen Rückgabewert.


Automatically generated by Doxygen 1.2.18 on 17 Jul 2003.