Moin moin,
Ich will mit einem ATMega8 mehrere PWM-Signale von verschiedenen Quellen einlesen. Neulich hatte jemand in diesem Forum die Idee, jedes Signal auf einen eigenen Eingangspin zu legen und außerdem alle (über Dioden) auf einen gemeinsamen Interrupt zu führen. Der Interrupt merkt dann, daß eins der Signale auf high geht und man kann in der Interruptroutine rauskriegen, welches. Die eigentlich Auswertung des Signals macht man dann an dessen Eingangspin.
Mein Problem ist jetzt: Wenn eines der Signale auf high steht, ist damit der Interrupt für alle anderen Signale geblockt, weil ja konstant high-Pegel anliegt. Wie kriege ich das weg?
Ich hab mir überlegt, für jedes Eingangssignal je einen weiteren Pin als Ausgang zu benutzen, um ein Signal, das den Interrupt ausgelöst hat, erstmal vom Interrupt zu trennen, damit die anderen Signale wieder die Chance haben, ihn auszulösen. Allerdings bräuchte ich dazu einen elektronischen Schalter, der Spannungen unterbricht. Ein Transistor ist ja mehr zur Stromregelung da, gibt's sowas auch entsprechend für Spannungen?
Ich stell mir das so vor, daß ich am Kollektor die Signalquelle habe (Die natürlich weiterhin zu ihrem Eingangspin geht), der "Emitter" geht zum Interrupt, und an der Basis hängt der zu diesem Signal gehörende Ausgangspin, der das Signal vom Interrupt trennen soll (mit high oder low Pegel ist ja erstmal wumpe). Wenn jetzt ein Signal auf high geht, wird erstens über die Interruptroutine festgestellt, welches Signal das ist, dann wird der entsprechende Ausgang gesetzt, um dieses Signal vom Interrupt zu trennen und der Interrupt horcht wieder auf alle anderen Signale.
Bloß welches Bauteil wirkt wie so ein Schalter?
Weiß jemand, was ich meine, oder muß ich dochmal versuchen, das in Paint aufzumalen?
Nils
Lesezeichen