PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Taster und Schalter parallel



Zingaro
26.04.2005, 18:34
Hallo Roboternetzer,
ich habe ein Problem. Ich möchte mit einem Mega32 einen Ausgang, von zwei Punkten aus, setzen bzw. rücksetzen können.

Also: PinA.0 ist mit einem Taster verbunden
PinA.1 ist mit einem Schalter verbunden
die internen Pullup-Widerstände sind aktiviert

als Ausgang wird PinC.0 genutzt

Die Schwierigkeit:

A.1(Schalter) ist ein, d.h. er ist high
C.0 ist gesetzt
Jetzt soll C.0 mit A.0(Taster) abgeschaltet werden.
Das Problem ist, dass der Ausgang C.0 durch A.1 immer wieder gesetzt wird.

Und genau da liegt mein Problem, ich weiß jetzt nicht ob ich hier Prioritäten oder ähnliches setzen kann oder muß.

Vielleicht kann mir jemand ein Programmbeispiel senden oder mich auf Befehle aufmerksam machen.

Ciao
Zingaro

x-ryder
26.04.2005, 19:16
sach nochmal das problem, am besten an einem beispiel, ich versteh das zum beispiel nich

recycle
26.04.2005, 19:32
Wenn an A.1 eingeschalten ist, möchte ich an A.0 ausschalten
können, ohne dass A.1 den Eingang wieder setzt.


Entweder ich verstehe dein Problem nicht, oder du siehst Probleme wo keine sind.
Von alleine wird dein Taster A0 den Eingang C1 nicht setzen, das macht er nur, wenn du das programmierst. Also programmiere einfach nicht, dass das Drücken des Tasters den Eingang einschaltet, dann macht er es auch nicht und das Problem ist ohne gross ins schwitzen zu kommen gelöst.

27.04.2005, 01:16
Hallo lest doch mal genauer...

er meint mit dem taster quasi ein flipflop nachzubilden set pinc.0 nochmal drücken reset pinc.0 usw. das gleiche soll der schalter am anderen Eingang bewirken schalter ein set pinc schalter aus reset pinc. So und nun kommts der Taster soll eine höhere Priorität besitzen, das heißt schaltet der taster auf reset soll pinc. ausgeschaltet werden obwohl der Schalter noch das Ein-Signal gibt. Die Schwierigkeit liegt halt darin dass der schalter nicht mehr einschalten kann.

Gruß

ACsenf

27.04.2005, 01:18
P.s. Wer Rechtschreibfehler findet, darf sie behalten ;-)

ACsenf

sebastian.heyn
27.04.2005, 06:31
Du könntest auch mit verknüpfungen ala
if pinb.0=0 and pinb.1=1 then c0=whatever
arbeiten, so kannst du alle möglichkeiten(es dürften bei zwei schaltern 4 stück sein) vorher definieren. so musst du keine prioritäten etc setzen

Hessibaby
27.04.2005, 06:46
Hallo Zingaro,

offensichtlich hast Du eine Schleife programmiert welche den Status der beiden Eingangsports abfragt. Aus dem Märchen kommst Du nur raus wenn Du den Schalter durch einen Taster ersetzt. Die andere Alternative ist eine in ASM geschriebene Interruptserviceroutine welche exclusiv auf einen der beiden Ports reagiert. Allerdings ist das auch Schaltungstechnisch eine Totsünde da man bei einer Ein-/Ausfunktion üblicherweise entweder zwei Taster (z.B. Stromstoßschaltung) oder zwei Schalter (z.B. Wechselschaltung) einsetzt.
Der Zweck Deiner Schaltung ist auch nicht so ganz transparent.

Gruß Hartmut

Schwabix
27.04.2005, 09:03
Es wäre ja denkbar, dass der Schalter das "normale" Bedienelement ist, wogegen der Taster z.B. ein Not-Aus sein soll.

Für dieses Verhalten darf man nur noch die Flanke (den Einschaltvorgang) auswerten:

dim shalter_an as boolean
if (schalter_alt=0 and A.1=1) then
REM Schalt irgendwas an
if (A.1=0) or (A.0=1) then
REM Schalt den Kram aus
schalter_alt=A.1

... oder so ähnlich, ich kenne nämlich Deine Programmiersprache nicht.

Schwabix