Forum: Mikrocontroller und Digitale Elektronik Eingang: auf positive Flanke regieren


von Wolfgang M. (avvf)


Lesenswert?

Hallo,
ich möchte gerne eine Schaltung aufbauen an der ein Sensor hängt,
jedesmal wenn dieser Sensor ausglöst wird soll ein Zähler hochzählen.
Da der Zählen nur reagieren soll, wenn jemand die Lichtschranke 
passiert, dürfte dieser nur auf eine positive Flanke regagieren.
Jetzt wollte ich fragen ob ich das irgendwie Softwaretechnisch (c) lösen 
kann. Weil ich mag nicht extra einen Flip-Flop nehmen. (und beim togglen 
hochzählen)

Und NEIN ich bin nicht zu faul Taster zu entprellen. Ich mach es zwar 
nur mit einem parallelen Kondensator, aber es funktioniert :D.

mit freundlichen Grüßen,
    Wolfgang

von Route_66 (Gast)


Lesenswert?

Wolfgang Maier schrieb:
> Jetzt wollte ich fragen ob ich das irgendwie Softwaretechnisch (c) lösen
>
> kann.

Ob Du das kannst, weis hier niemand. Bei Deiner Fragestellung und 
Problembeschreibung tippe ich mal auf "Nein". In Forth würde ich ein 
Wort "Flanke?" definieren und gut ist!

von ♪Geist (Gast)


Lesenswert?

In VHDL etwa so:
if rising_edge(SIGNALNAME) then
.....

In C auf Exti reagieren und den Zustand der Leitung abfragen. Je nach 
Controller und Compiler unterschiedlich, deshalb erspare ich mir die 
ausführliche Erklärung.

von Justus S. (jussa)


Lesenswert?

Sensorsignal einfach an Pin8 und Timer0 als Counter konfigurieren

von anderes ich (Gast)


Lesenswert?

IF (IN_alt == 0 and IN == 1)
{
 zähler++;
}
IN_alt = IN;

sinngemäß...

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


Lesenswert?

♪Geist schrieb:
> In VHDL etwa so:
> if rising_edge(SIGNALNAME) then
> .....
Nein. Genaus so macht man das in VHDL nicht. Nicht jeder beliebige Furz 
darf da ein Flipflop takten. Sondern der Furz wird erst mal hübsch 
einsynchronisiert, entprellt, und dann die gesuchte Flanke ausgewertet.

> In C auf Exti reagieren und den Zustand der Leitung abfragen.
Wenn ein Interrupt passiert ist, dann doch wohl wegen eines Pegels oder 
eines Pegelwechsels. Wozu dann nochmal den Pegel abfragen? Das ist ja, 
wie wenn du die Tür vom Kühlschrank aufmachst, nur um zu sehen, ob das 
Licht da drin noch brennt...

> Je nach Controller und Compiler unterschiedlich,
aber auf keinen Fall so wie hier beschrieben.

> deshalb erspare ich mir die ausführliche Erklärung.
Ich auch. Aber die Vorgehensweise ist immer:
(Einsynchronisieren), Entprellen, Flanke erkennen, Flanke zählen

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.