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. |
#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.
init1
Parametrisierung über mehrere Ports verstreuter Bits.
|
Bytewert zum Festlegen des Null- bzw. Bezubgspunktes für die LED Grafik.
|
|
LED Balken löschen. Macht das Gleiche wie led_cls(). Setzt alle Bits auf den inaktiven Zustand (OFF(0) value).
|
|
LED Balken löschen. Setzt alle Bits auf den inaktiven Zustand (OFF(0) value).
|
|
LED Balken zurücklesen. Gibt den Wert der aktuell gesetzten LED Ausgabebits zurück.
|
|
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
![]() LED Grafik Beispiel
|
|
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.
|
|
LED Port initialisieren. Initialisiert den LED Port zur Byteausgabe (alle 8 Bits).
|
|
LED Balken beschreiben. Setzt alle Bits auf den angegebenen Wert bitset.
|