www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR: MOSI mit Hardware SPI verwenden, MISO aber als IO


Autor: David Epping (it-web)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich verwende einen ATmega8 um eine SPI Verbindung zu einem Display per
SPI aufzubauen. Da ich für alles mögliche sehr viele pins brauche, und
das Display sowieso nicht antworten kann, würde ich gerne den MISO-Pin
als Ausgang für die Resetleitung des Displays nehmen. Also als ganz
normalen IO-Pin konfigurieren.
Leider wird aber bei aktivierung des SPI dieser Pin automatisch
konfiguriert, wenn cihd as richtig verstanden habe, und bei den ganzen
overide registern, blicke ich nicht ganz durch was da was schaltet.
Beim AT91RM9200 ist das schöner gelöst :)

kann mir jemand helfen?

Vielen Dank,
David Epping

Autor: Stefan Kleinwort (_sk_)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der MISO-Pin wird beim Einschalten des SPI automatisch als Input
geschaltet, egal was Du im DDRB eingegeben hast (darüber bin ich auch
mal gestolpert). Ich hatte das Problem beim mega16, dürfte aber beim
mega8 dasselbe sein.

Den Pin als Eingang zu benutzen ist aber problemlos möglich. Ev. kannst
Du den Pin mit einem anderen tauschen.

Übrigens, ähnliche Baustelle:
der SS-Pin sollte möglichst als Ausgang benutzt werden, falls die
SPI-SS-Funktion nicht verwendet wird. Wird SS als Eingang betrieben,
dann schaltet ein Low-Pegel an SS den SPI ab!

Einziger Workaround für beide Probleme (wenn sie bereits in Hardware
gegossen sind): SPI in Software nachbauen ...

Gruß, Stefan

Autor: Andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Als Low-aktiven Reset kannst du den Pin durchaus verwenden (bei mir z.B.
für ein Nokia 3310):
Um Low auszugeben dektivierst du die SPI, schaltest den Pin auf Ausgang
und gibst 0 aus.
Um High auszugeben schaltest du den Pin auf Eingang und aktivierst den
PullUp-Widerstand. Danach kannst du die SPI enablen - der Pin bleibt
auf Eingang und wird durch den PullUP auf High gezogen.

Gruss Andi

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.