Forum: Mikrocontroller und Digitale Elektronik pos. Flanke von Taster finden.


von Tobias K. (tobias_k622)


Lesenswert?

Guten Abend,

Folgendes: für ein Projekt brauche ich eine Flankenauswertung, besser 
gesagt die positive Flanke eines Taster. Wie kann ich dies umsetzen? 
Programmiersprache: C
Programmieroberfläche: Keil uVison 5
uC: STM32G031K6Tx

lg Tobias

von Ingo Less (Gast)


Lesenswert?

Indem du die steigende Flanke auswertest, entweder in Software, oder du 
nimmst die Hardware des Controllers zu Hilfe.

Gern geschehen

von Einer (Gast)


Lesenswert?

1
   lastkeystate = getkeystate();
2
   .
3
   .
4
   while(dorun) {
5
     dosomething();
6
     actkeystate = getkeystate();
7
     if (actkeystate != lastkeystate) {
8
       if (actkeystate == PRESSED) {
9
         dokeyaction();
10
       }
11
     }
12
     lastkeystate = actkeystate;
13
   }

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Tobias K. schrieb:
> besser gesagt die positive Flanke eines Taster. Wie kann ich dies
> umsetzen? Programmiersprache: C
Du merkst dir den "alten Pegel" des Eingangs und vergleichst den mit dem 
"aktuellen Pegel" des Eingangs. Wenn der alte Pegel low ist und der 
aktuelle Pegel high, dann hast du eine steigende Flanke. Dann speicherst 
du dir den "aktuellen Pegel" als "alten Pegel" für den nächsten 
Vergleich.

Dazu musst du den Eingang natürlich laufen abtasten, z.B. in der 
Mainloop oder in einem Timerinterrupt.

: Bearbeitet durch Moderator
von Einer K. (Gast)


Lesenswert?

[ironie]

Leider kenne ich mich mit C nicht so aus, aber in meiner kleinen Arduino 
Welt würde das irgendwie so aussehen:
1
void loop()
2
{
3
 counter  = flankenerkennung = entprellen = taster;
4
}
Wobei der Counter dann Ereignisse wirft, welche man vorher z.B per 
counter.onCount(...) etablieren könnte.


[/ironie]

:-)

von Tobias K. (tobias_k622)


Lesenswert?

Danke für eure Hilfe!

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.