Hallo,

zugegeben... Ich weiß nicht welchen Titel ich wählen soll

Ich habe hier eine Aufgabe aus unserem Kurs bei der ich nicht so recht weiterkomme:

Der Wert einer Variablen vom Typo unsigned int soll auf einem Display angezeigt werden. Mit 2 Tasten soll dieser Wert erhöht bzw. erniedrigt werden können.
Kurzes drücken: +1 bzw. -1.
Wird eine Taste etwas länger gedrückt soll sich der Wert mit einer gegebenen Frequenz in einerschritten verändern bis die Taste losgelassen wird
Was ich machen soll ist mir (glaube ich ) klar.
Ich verstehe jedoch nicht was mit dem fett-markierten Satz genau gemeint ist.
Frequenz....
Soll ich hier mit irgendeinem Timer arbeiten? - oder wie stellen sich die Herren das vor


Mein Ansatz ist der folgende:


Code:
 
// includes etc.

int main() {
   DDRC = 0xFF;
   lcd_init();
   unsigned int val = 0;
   while(1){
      lcd_setcursor(0, 0);
      lcd_putdez_uint(val);
      _delay_ms(100);
 
      while ((PINA) == 0xff);
 
      if (PINA & _BV(7)){
         val+=1000;
      }
      if (PINA & _BV(6)){
         val-=1000;
      }
      return 0;
   }
}
Danke im Voraus
kesandal