Forum: Mikrocontroller und Digitale Elektronik 1 Taster 2 Funktionen


von Tina (Gast)


Lesenswert?

Hallo ersteinmal =)
Ich habe hier im forum schon öfters Dinge gefunden die mir 
weitergeholfen haben, aber diesmal brauch ich möglichst schnell Hilfe.
Und zwar hab ich einen einfachen Taster, dieser soll bei der ersten 
Betätigung eine LEd anmachen und die Freigabe für einen Lautsprecher 
erteilen und bei der zweiten Betätigung beides wieder ausmachen, bzw die 
Freigabe zurück nehmen.
Ich habe die Entprellung über eine delay funktion vorgenommen und wollte 
wissen ob dies so genügt und ob das Programm so funktionieren würde.

vielen Dank an alle die Antworten
Liebe Grüße
Tina
1
// Tasterabfrage Lautsprecher
2
  if(SCHALTER_LS())
3
  {
4
    _delay_ms(100);
5
    if(u8_Taster_betaetigt == 0)
6
    {  
7
      _delay_ms(100);
8
      u8_Taster_betaetigt = 1;
9
      u8_LS_Freigabe = 1;
10
      LED_LS_AN();
11
    }
12
    else
13
    {  
14
      _delay_ms(100);
15
      u8_Taster_betaetigt = 0;
16
      u8_LS_Freigabe = 0;
17
      LED_LS_AUS();
18
    }
19
  }

von Peter D. (peda)


Lesenswert?


von Tina (Gast)


Lesenswert?

Vielen Dank nur verstehe ich das ganze nicht ganz, ich teile dem 
Programm dort mit, welcher meiner Ports ausgelesen werden soll und 
weiter?

von Peter D. (peda)


Lesenswert?

Tina schrieb:
> Vielen Dank nur verstehe ich das ganze nicht ganz, ich teile dem
> Programm dort mit, welcher meiner Ports ausgelesen werden soll und
> weiter?

Der Returnwert ist 1, wenn ein Wechsel von Losgelassen nach Gedrückt 
erkannt wird, sonst ist er 0.

Daher einfach nur:
1
if( debounce( PINB, PB1 ) ){
2
  mache_was
3
}


Peter

von Tina (Gast)


Lesenswert?

ah okay wenn ich das nun richtig verstanden habe dann setze ich meinen 
port dort ein und dann wird die funktion aufgerufen in welcher ich dann 
nen zähler die anzahl der drücke zählen lasse und danach meine 
funktionen fest mache richtig?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.