www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik MISO trotz SPI als IO Pin ?


Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Betreff sagt eigentlich alles:
Ich verwende SPI nur zum Daten empfangen, benötige MISO nicht.

Das einzige was ich laut Datenblatt schalten kann ist der Pullup, wenn
ich das richtig verstanden habe.
Gibt es irgendeinen Trick, MISO trotzdem als IO zu verwenden ?

Autor: Jörg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also wenn Du als Slave nur Daten empfangen willst, sollte der MISO-Pin
eigentlich frei verfügbar sein. So steht es zumindest in Tabelle 55 auf
Seite 126 im Datenblatt des ATMega8515 (und sicherlich auch bei den
anderen Prozessoren mit HW-SPI). MISO ist dort mit "user defined"
angegeben. Wie man dann allerdings einstellen kann, dass MISO doch als
Ausgang des SPI fungieren soll, habe ich auf die Schnelle auch nicht
gefunden. Am besten mal in einem etwas neueren Datenblatt zu SPI
nachlesen.

Jörg

Autor: Jörg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry, aber das passiert, wenn man nur flüchtig liest. Die angegebene
Tabelle besagt ja nur, dass die DATENRICHTUNG "user defined" ist. Und
das interpretiere ich dann so:
MISO als Ausgang = MISO ist Ausgang des SPI
MISO als Eingang = MISO-Pin lässt sich als universeller Eingang
verwenden

Damit hat sich meine o.a. Unklarheit auch erledigt.

Also bei SPI als Slave kann MISO als universeller EINGANG genutzt
werden oder als Ausgang des SPI.

Jörg

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn ich MOSI als Eingang definiere, ist es dann wirklich absolut
sicher, dass das SPI Interface den Pin nicht verändert ?

Was passiert, wenn ich MOSI auf Eingang schalte, und Daten ins SPDR
schreibe ?

Autor: Jörg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Solange das SPI-Interface nicht Master wird sollte sich an der
Einstellung MISO als Eingang nichts ändern. Das Byte, das Du ins SPDR
schreibst sollte im NUL landen. Aber selbst ausprobiert hebe ich diese
Konstellation bisher noch nicht.

Jörg

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ahnliche Probleme tauchten bei der Benutzung von MISO auf wenn der AVR
der Master ist (Nokia LCD). Auch da kann man den MISO freischalten und
als zusätzlichen Ausgang benutzen. Denoch habe ich immer wieder
Meldungen von Nachbauern bekommen das dies nicht so richtig
funktioniert. Denn 1.) darf sich NICHT der Status vom Pin ~SS
verändern, 2.) wurde berichtet das Aktivitäten des SPI's auf dem
eigentlich freien MISO Pin Störungen verurachten, je nach typ des
AVR's, und 3.) gibt's zwar Datenblätter aber einige Detailfragen
bleiben ungeklärt.

Falls du einen normalen IO Pin frei hast dann würde ich den nehmen.

Gruß Hagen

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Falls du einen normalen IO Pin frei hast dann würde ich den nehmen.

Leider benötige ich 32 IOs, habe aber nur 31 (3x8bit -4 für SPI) + 3x
PORT E beim mega8515

Die Problme mit SS beim SPI Master sind mir bekannt:
mega8 als SPI Master, SS als Ausgang (laut Datenblatt dann ein normaler
IO), den an den SS des Slave.
Nix geht. Also anderen Pin genommen, Schaltung geht.

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.