PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Eingangspin abschalten bzw deaktivieren - wie am besten??



dl1akp
27.10.2008, 11:52
Hallo Leute,

Ich habe ein Programm (mit DCF) an einem bestimmten Pin.
Funktioniert soweit super, danke AlBundy-Routine.

Nun ist es für mich notwendig, dieses DCF-Signal abschalten zu können.
Die Uhr soll zwingend nur mit Quarztakt laufen.

Ich müßte also diesen Pin irgendwie deaktivieren??
Nur wie? Kann man ihn irgendwie in High-Impedance, wie ein TriState schalten?

Oder soll ich ihn als Ausgang machen?

Danke im Voraus.
mfg, Andreas

uwegw
27.10.2008, 12:23
Was genau hast du vor?

->Der AVR gibt das Signal aus, und dieser Ausgang soll deaktiviert werden?
Ein AVR-Pin wird hochohmig, wenn er als Eingang ohne OPulluop konfiguuriert ist.

->Der AVR liest das Signal ein
In der Software bei jeder Abfrage vorher prüfen, ob der Eingang aktiv sein soll

thewulf00
27.10.2008, 12:54
Zum Deaktivieren einfach die Datenrichtung auf Eingang stellen. Wenn Du dann das entsprechende PORT-Register nicht mehr nutzt (was in Eingangs-Modus den Pullup aktivieren würde), ist der Pin hochomig.

dl1akp
27.10.2008, 15:10
Hallo,

habe mich vielleicht ungünstig ausgedrückt.

Das DCF-Modul von Conrad hängt an PC7. Dieses Modul liefert das DCF-Taktsignal an den AVR. Die ALBundy-Routine wertet dieses Signal aus.
Soweit, so gut.

Ich möchte aber genau DIESEN Eingang, an dem das Signal vom Conrad-Modul ankommt DEAKTIVIEREN, sodas die AL-Bundy-Routine KEINE DCF-Impulse mehr zum Auswerten bekommt!!!

Wenn ich den Pull-Up entferne( bzw. abschalte), würde das was bringen?

Danke, Andreas

uwegw
27.10.2008, 18:44
Dann geh doch im Programm an die Stelle, wo die Routine den Eingang abfragt. Und vor diese Abfrage setzt du ein if eingang_an...

thewulf00
28.10.2008, 05:01
Also @Andreas:

Da Du die Signale eines externen Bauteils nicht mehr bekommen möchtest, hast Du zwei Möglichkeiten:
a) Du schaltest den Teil Deines Programmes ab, was die Signale auswertet (Timer, Interrupt, etc.), so wie von uwegw vorgeschlagen.
b) Du erweiterst Deine Schaltung um einen Transistor, der von einem anderen Port aus abschaltbar ist, und der dann die DCF-zu-Controller-Leitung unterbricht oder verbindet.

peterfido
28.10.2008, 20:39
In dem Fall kann bei b) auch der Transistor entfallen, da der DCF Empfänger nur einen ganz geringen Strom braucht. Ich habe meinen DCF Empfänger direkt an einem Portpin angeschlossen.

thewulf00
29.10.2008, 09:37
Ja ok, ich meinte das aber anders.
Ich meinte, der Transistor hängt in der Datenleitung vom DCF zum µC, damit der Pin hochomig wird. Das DCF-Modul bleibt jedoch aktiv.
Du schaltest eben das DCF-Modul ab, dann ist der Zustand am Datenpin undefiniert, das wollte ich ausschließen.