Am einfachsten fragst du dauernd nen beliebigen Pin ab.
so schematisch mal angedeutetCode:interrupt, LCD, Ein/ausgänge konfigurieren timer laden Do Pinzustand einlesen if Pinzustand voher = Pinzustand jetzt // nixtun else Zähler = Zähler +1 Pinzustand voher = Pinzustand jetzt // da der Jetzt-Zustand im nächsten Durchlauf der alte ist end if loop interruptroutine: UmdrehungenproZeiteinheit = (Zähler/2) / Zeit // "/2" da voher sowohl auf- als auch absteigende Flanken gezählt wurden // weiterrechnen Ausgabe am LCD Zähler = 0 // zurücksetzen, damit gleich neu mit zählen angefangen werden kann Timer neu laden end interruptroutine
EDIT: ops, hab vergessen zu sagen, was das fürn interrupt ist: ein vom MC ausgehender Interrupt, der von nem Timerüberlauf ausgelöst wird.
hab den Code noch n klein wenig angepasst!








Zitieren

Lesezeichen