Hallo zusammen, ich habe vor einigen Wochen mit MCUs angefangen und bislang mit dieser site und den darin enthaltenen Beiträgen sehr schnell meinen ATtiny12 zum Laufen gebracht. Grosses Lob. Nun habe ich folgende Fragen: -Welche Zusatzschaltung (Pull-UP?) ist nötig, dass ich den "PB0" (ResetPIN) als Ausgang beim ATtiny12 nutzen kann, und wie baue ich sie auf (Schaltplan)? -Was heisst "open drain" für PB0 genau ? Ideal wäre: Ich kann an PB0 5V-Impulse gegen GND ausgeben, bzw. im Extremfall gingen auch 0V-Impulse gegen Vcc. Infos zum Problem: Ich nutze den internen RC-Oszillator zwecks Takterzeugung. Über die Fuse-Bits habe ich den Reset schon deaktiviert; die restlichen Ports machen dann auch das, wozu sie programmiert sind, ohne dass PB0 beschaltet werden muss. Nur ein Signal bekomme ich direkt am PB0 nocht nicht ausgegeben. Kann leider keinen anderen Pin nutzen, alle anderweitig benötigt. MCU ist auch mehr oder weniger fix -> Größe/Anzahl d. Pins. Wer kann mir zu o.g. Fragen weiterhelfen ? Danke schonmal. Viele Grüße, Stefan
Du benötigst lediglich einen PullUp-Widerstand. Konfigurierst Du den Pin als Eingang, wird er über den PullUp auf 1 gezogen. Konfigurierst Du den Pin als Ausgang, wird er vom Controller auf 0 gezogen.
Eine Frage zum PB5 beim Attiny12, ich habe dasselbe Problem wie oben genannt. Reset ist deaktiviert und der tiny12 verrichtet auch (bis auf PB5) seinen Dienst. Ich habe +5V über 10kOhm an PB5(Reset-PIN) liegen und greife über dem 10k die Spannung ab. Meine Hoffnung, dass ich solange 0V-Differenz messe, bis ich "0" auf PB5 ausgebe. Ich messe aber "5V"-Differenz, bei Ausgabe von "1". (Simulation war demgegenüber erfolgreicher) Genügt es für den open-drain-Ausgang PB5, nur die Richtung zu wechseln (also auf Ausgang stellen), um diesen wie in meinem Fall auf "0" zu ziehen ? Oder ist die Datenausgabe evtl. bei open-drain vertauscht (bei Ausgabe "1" liegt 0V an PB5)? Ist mir noch nicht ganz klar. Weiss jemand eine Lösung für mein Problem ? Vielen Dank schonmal, M.
Du kannst keine '1' ausgeben, da das Bit 5 aus PORTB ReadOnly und immer gelöscht ist (Datenblatt, Seite 44). Deswegen mußt Du den Pin als Eingang konfigurieren (DDRB5 löschen), um eine Eins am Ausgang zu erhalten. Wenn Du hingegen DDRB5 setzt, PB5 also als Ausgang konfigurierst, wird PORTB5 am Pin erscheinen. Und das ist immer die 0.
Okay, also muss ich den Umweg über das Richtungsregister DDRB gehen, um PB5 das gewünschte zu entlocken :-) Danke für die schnelle Hilfe. Grüße, Michael
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.