Ping-Pong Platine: Tipps und Tricks - Problemlösung
Softwarelösung bei sich berührenden Münzkontakten
von Michael Gaus
Im Artikel "Ping-Pong Tipps und Tricks" ist beim Punkt "Was passiert, wenn die Münzkontakte sich permanent berühren?" das Problem beschrieben, dass wenn die Münzkontakte sich permanent berühren, eine Batteriezelle kurz herausgenommen werden muss, damit das Programm wieder läuft.
Lösung:
Es gibt jedoch auch die Möglichkeit, dieses Problem per Software zu umgehen durch folgende 3 Änderungen:
- in der "Sub Standby" direkt nach dem Powerdown-Befehl noch den Befehl "Disable Int0" einfügen
- in der "Int_isr" den Befehl "Disable Int0" entfernen, also nur eine leere Interruptserviceroutine.
- der Int0 darf sonst an keiner anderen Programmstelle enabled werden, da der Portpin meist als Ausgang LOW wegen den Potis geschaltet ist und dann ständig den Int0 antriggern würde
Wenn sich jetzt die Münzkontakte permanent berühren, dann sollte nun der Controller direkt nach Eintritt in den Powerdown-Modus sofort wieder aufwachen und das Programm wieder starten bzw. fortsetzen.
Ganzen Artikel lesen...
Ich habe das ganze zwar nicht mit Bascom sondern in "C" ausprobiert, aber es dürfte in Bascom genauso realisierbar sein. Solch eine Lösung dürfte für alle Programmierer interessant sein, die bei eigenen Projekten mit der Ping Pong Platine den Powerdown-Modus nutzen wollen und per Münzeinwurf wieder einen Start auslösen möchten.
Hintergrundinfo:
Int0 ist als levelgetriggerter Interrupt eingestellt, flankengetriggert ist für das Aufwachen aus dem Powerdown-Modus beim Atmega8 nicht möglich. Vor dem Powerdown-Befehl wird mit "Enable Int0" der Interrupt enabled, wenn sich aber die Münzkontakte berühren, wird sofort der Interrupt ausgelöst und wurde dann bisher gleich wieder in der ISR disabled. Dann wird der Powerdown-Befehl ausgeführt, weil aber Int0 nicht mehr enabled ist, ist auch ein Aufwachen per Int0 nicht mehr möglich.
Deshalb musste bisher die Batterie kurz entfernt werden, also ein Power-On Reset durchgeführt werden. Durch die Softwareänderung wird jetzt der Int0 erst dann disabled, wenn das Aufwachen erfolgt ist, also nach dem Powerdown-Befehl. Somit entfällt die Notwendigkeit, dass bei sich permament berührenden Münzkontakten eine Batteriezelle kurz entfernt werden muss.
Die passende Ergänzung zu diesem Artikel:
 | Franzis Ping-Pong Produktart: Softwarebox ISBN 978-3-7723-4799-3 Versandkostenfrei* direkt beim Verlag bestellen
29,95 € 
|

Lernen Sie die ganze Vielfalt vom Franzis Buch- und Softwareverlag kennen