Gast
#410581
Es sollen zwei Taster an einer batteriebetriebenen Fernbedienung entprellt und ausgewertet werden. Wie stelle ich das elegant an? Insbesondere das Zusammenspiel der einzelnen Interruptquellen ist mir nicht ganz klar; ich möchte die Tasten zuersteinmal mit Peter D.s Code entprellen, und auch seine Zeitauswertung benutzen. Außerdem soll geprüft werden, ob beide Tasten gleichzeitig gedrückt werden. Ich habe mir das so vorgestellt: sleep pcint! (durch taste) pcint ausschalten timerint einschalten timerinterrupt läuft 4 mal (variable): wenn negativ -> timerint 0; pcint 1; sleep sonst: ist eine oder beide tasten gedrückt. beide -> code senden; timerint 0; pcint 1; sleep eine: feststellen, ob vor <zeit> losgelassen. code senden; timerint 0; pcint 1; sleep nach <zeit> gedrückt: code senden bis losgelassen. ende.. Wie ich das jetzt aber in Code umsetze, ist mir leider nicht klar - Könnte mir da bitte jemand helfen? Speziell was das Timing der Überprüfung betrifft, habe ich keine Vorstellung zur Umsetzung. Ist es üblich, die Interrupts / Timer einfach nach Belieben ein und auszuschalten? Über das Interruptregister oder im Falle des Timers durch Ausschalten des Prescalers?