PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Doppelfunktion eines I/Os



-tim-
15.06.2007, 08:43
Hallo,
ich habe ein Problem bezüglich der Ein- / Ausgänge eines ATTiny15 Controlers.
Für ein Projekt soll ich mit hilfe dieses Controllers ein 5 Kanal-Lauflicht aufbauen, welches bei betätigen eines Tasters die Laufmodi ändert.
An sich wäre das kein Problem wenn ich die 2. Belegung von dem Resetpin verwenden könnte. Aber dies bezüglich wurden mir schon alle Hoffnungen genommen, da nach anderen Forumeinträgen dazu ein HV-Programmer und ein speziales Programm notwendig wären. Da ich aber nur einen ISP-Programmer habe, brauche ich hier eine andere Lösung.
Dabei ist mir folgendes in den Sinn gekommen. Gibt es eine Möglichkeit einen Pin so abzufragen, das der die Funktion eines Ein und Ausganges gleichzeitig erfüllt?

Danke schon mal für Eure Mithilfe.
mfG Tim

zumgwadrad
15.06.2007, 08:48
Tach,
naja man müsste halt den Pin an verschiedenen Stellen des Progs als Ein- und dann wieder als Ausgang definieren, ist aber nicht Interruptfähig, da der Tasterinterrupt bei Pin als Ausgang nicht erkannt wird.
Ansonsten wüsste ich nicht wie.
Viel Erfolg

-tim-
15.06.2007, 08:53
Danke für die schnelle Antwort.
Auf diese Idee bin ich auch schon gekommen, aber dummerweise sind die Zeiten in der die LEDs leuchten zu lang. Denn in dieser Zeit wäre der Taster ja nicht einsetzbar.

Es sollen bzw muss auch ein solches Modi möglich sein:
X = AN / 0 = Aus

0XXXX
X0XXX
XX0XX
XXX0X
XXXX0

und da wären die Zeiten wo der Taster nicht benutzbar wären viel zu lang.

SprinterSB
16.06.2007, 09:13
Eine ANregung findest du in

https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=160444

Die Helligkeitsmessung dort braucht dich net zu integrieren. Es wird aber deutlich, wie quasi zeitgleich LEDs leuchten und Taster abgefragt werden. Die LEDs leuchten in PWM und in den OFF-Phasen gibt's Taster-ABfragen im Poll-Betrieb. Funktioniert 1A.

-tim-
16.06.2007, 10:11
Hallo SprinterSB,
danke für die Anregung ....
Ich werde das mal versuchen :-)

mfG Tim

Johannes G.
16.06.2007, 12:04
Hallo,
wie wärs, wenn du ins EEPROM (oder in ein Arbeitsgerister, die werden soviel ich weiß bei einem Reset nicht gelöscht) immer den aktuellen Laufmodus schreibst und den taster an Reset anschließt.
Wenn der AVR resettet liest du den Laufmodus aus und schreibst den neuen Laufmodus ins EEPROM/in ein Registger

Viele Grüße,
Johannes

-tim-
18.06.2007, 09:55
Hallo,
Johannes, dir dank ich erst mal für die Idee, das hat mein Problem am einfachsten gelöst. DANKE

Aber aus Interesse möchte ich SprinterSB mal bitten mir das mit seiner Theorie etwas ausführlicher zu erklären. Denn ich als Anfänger hab das trotz einigen Stunden Nachdenken nicht so richtig durchgeblickt.

DANKE
mfG Tim

Johannes G.
18.06.2007, 20:39
@-tim-: nichts zu danken ;) ich bin auch noch anfänger und mir ist das einfach so eingefallen. Schön dass es geht ;)