hallo,
wie wärs denn, wenn Du den Eingang direkt auf den Interrupt "wirken" lässt und in der ISR das Entprellen
bewerkstelligst ?
mfg
Achim
Werbung
hallo,
wie wärs denn, wenn Du den Eingang direkt auf den Interrupt "wirken" lässt und in der ISR das Entprellen
bewerkstelligst ?
mfg
Achim
Hi, ich habe es zwar inzwischen hinbekommen, aber es würde mich trotzdem interessieren wie das aussehen würde?
Ich lasse die Abfrage jetzt wirklich über einen Timer laufen, scheinbar is mein Programm wirklich so lang, das die Abfrage in der Hauptschleife einfach zu selten kommt um den Impuls zu erfassen.
Der Impuls kommt übrigens von einer Lichtschranke.
Und zwar muss ich einen "relativ" schnellen Impuls zählen, ca. 2-3 impulse pro Sekunde.
Hast Du das vielleicht etwas genauer? Möchtest Du zählen wie viele Impulse pro Sekunde kommen, oder wie lang die Impulse sind, oder welcher Zeitabstand zwischen zwei Impulsen liegt?
Debouncen (d.h. entprellen) muss man eigentlich nur bei Tastern. Eine Lichtschranke müsste eine saubere Flanke abliefern, so dass Du den Debounce-Befehl gar nicht brauchen solltest.
Wie wär´s denn, wenn Du mit dem Lichtschranken-Signal direkt einen der externen Interrupts (INT0 oder INT1) auslöst? Dann wird die dazugehörige Aktion sofort ausgeführt, egal wo sich Dein Programm gerade befindet.
Lesezeichen