|
mxLED.c |
/* mxLED.c */
#include "mxStrukturen.h"
#include "mxMMU.h"
#include "mxLED.h"
/************
** Defines **
************/
#define cSegOben (1 << 1) /* Abbildung Bit auf Segment */
#define cSegObenLinks (1 << 0)
#define cSegObenRechts (1 << 2)
#define cSegMitte (1 << 7)
#define cSegUntenLinks (1 << 3)
#define cSegUntenRechts (1 << 5)
#define cSegUnten (1 << 4)
#define cSegPunkt (1 << 6)
/***************
** Funktionen **
***************/
void Setze7SegmentBits(tLEDStelle Stelle, int Wert)
/*
* Setzt das Bitmuster <Wert> auf dem Parallelport fuer <Stelle>
*/
{
/* muss noch implementiert werden */
}
void Setze7SegmentZiffer(tLEDStelle Stelle, int Ziffer, int Punkt)
/*
* Schreibt an den Parallelport fuer <Stelle> die noetigen Bits, um <Ziffer>
* anzuzeigen. -1 schaltet die Anzeige aus und <Punkt> gibt
* an, ob der Punkt leuchten soll oder nicht.
*/
{
/* muss noch implementiert werden */
}
void Setze7SegmentZahl(int Zahl, int Stellen)
/*
* Zeigt <Zahl> (0..99) auf dem LED an.
* <Stellen> ist die minimale Stellenzahl, wichtig fuer fuehrende Nullen
* Zahl==-1 oder Zahl==Stellen==0 schaltet die Anzeige aus.
*/
{
int zehner, einer;
zehner = -1;
if (Zahl >= 10 || (Stellen >= 2 && Zahl >= 0)) { /* gueltige Zahl und zweistellige Ausgabe? */
zehner = (Zahl / 10) % 10;
}
einer = -1;
if (Zahl >= 1 || (Stellen >= 1 && Zahl >= 0)) { /* gueltige Zahl und mind. einstellige Ausgabe? */
einer = Zahl % 10;
}
Setze7SegmentZiffer(eZehner, zehner, 0);
Setze7SegmentZiffer(eEiner, einer, 0);
}
/* Initialisierung */
int InitLED(void)
{
return TRUE;
}
Bei Problemen mit der Seite bitte eine Mail an Marek
Converted with C2HTML V0.669 by Iluvatar
Prozeßdatenverarbeitung