mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATtiny12: Wie nutze ich Ausgang PB0 (ResetPin) ?


Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Korrektur: Ich meine natürlich Pin PB5 (Reset).

Autor: René König (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank.

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: René König (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.