Mit Taster Ausgang ca. 1min auf high setzten

OP #1704393
Lesenswert?

Ich bauch mal wieder Hilfe von den Profis,
in meinem Programm wird mit zwei Tastern durch die verschiedenen 
Menüebenen von meinem Display durchgetrippt.
Nun hat mein Display eine Hintergrundbeleuchtung die ich einschalten 
will.
Das ganze soll so funktionieren, immer wenn Taster1 oder Taster2 benützt 
wird um das Menüe zu betätigen soll die Hintergrundbeleuchtung (Ausgang 
auf High) gesetzt werden, so ca 1min lang.
Immer wenn einer der beiden Taster betätigt wird soll die Zeit wieder 
von vorn anfangen.
Hier ein paar teile von meinem Programm das es bischen verständlicher 
wird:

int tasterabfrage1()
{
  if (PINB & (1<<0))
  {
    while (!(PINB & (1<<0)));
    taster1++;
    while ((PINB & (1<<0)));
  }
  return(0);
}


int tasterabfrage2()
{
  if (PINB & (1<<1))
  {

    while (!(PINB & (1<<1)));
    taster2++;
    while ((PINB & (1<<1)));
  }
  return(0);
}


switch (taster1)
{
    case 1:

    case 2:

       switch (taster2)
       {
          case 1:

          case 2:

        }
}

ja und so weiter..

Ich hoffe ich hab das einigermasen vertändlich rüber gebracht.
Hoffe von euch hat da einer ne gute Idee.
Danke schonmal im voraus

Gruß Mucky
Gast #1704422
Lesenswert?

Wenn du nen Timer interrupt hast, kannst du einen Zählwert in eine 
Veriable laden, die du bei jedem Interrupt um 1 runterzählst.
Ist sie Null, wird das Backlight ausgemacht, ansosnten an.

Nun einfach im Programm bei jedem Tasterdruck die Variable mit dem 
Startwert belegen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren