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