www.mikrocontroller.net

Forum: Projekte & Code Mit Taster Ausgang ca. 1min auf high setzten


Autor: R. K. (mucky)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Flo (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Solo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Flo,
könntest du das für mich als Beispiel ganz grob als
C-Code schreiben??

Gruß
solo

Autor: Flo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was benutzt du den für einen AVR?
Hast du schon mal mit Interrupts gearbeitet, wenn nein, kannste dich 
hier mal einlesen
http://www.mikrocontroller.net/articles/AVR-GCC-Tu...

Wenn du mal deinen bereits vorhandenen Code hier als File hochlädst, 
lässt sich schauen, ob der ganz einfach zu modifizieren ist.
:D

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.