hallo, meine Frage ist : ich benutze ATmega32u4 und ich will das Chip mit 3 Slaves verbinden aber auf das Datasheet ich finde nur ein Pin für Slave Select . Ich will wissen ob man andere Pin als SS benutzen kann oder nicht. wenn nicht was gibt's als Lösung. Danke
Hallo, der SS Pin ist nur dafür da wenn der AVR / Mikrocontroller als Slave fungiert. Wenn er aber Master ist, dann nimmt man einen normalen GPIO Pin für den / die CS Pin(s).
Harry schrieb: > Ich will wissen ob man andere Pin als SS benutzen kann oder > nicht Als Master durchaus. Im Slave Mode nicht. Setze den SS trotz allem auf Ausgang, damit es dir nicht aus Versehen in den Slave Mode fällt.
Herbert schrieb: > Wenn er aber Master ist, dann nimmt man einen normalen > GPIO Pin für den / die CS Pin(s). Nö. Für diesen Fall kann der SS Pin ebenso als "normaler GPIO Pin" dienen.
@ Harry (Gast) >meine Frage ist : ich benutze ATmega32u4 und ich will das Chip mit 3 >Slaves verbinden aber auf das Datasheet ich finde nur ein Pin für Slave >Select . Ich will wissen ob man andere Pin als SS benutzen kann Ja. Aber SS MUSS als Ausgang geschaltet werden. Siehe Datenblatt, ""SS pin functionality".
Falk B. schrieb: > Aber SS MUSS als Ausgang geschaltet werden. Reicht nicht auch ein Pullup? Das Problem tritt meines Wissens nach nur mit INPUT in Verbindung mit LOW Pegel auf.
Falk B. schrieb: > Ja. Aber SS MUSS als Ausgang geschaltet werden. Siehe > Datenblatt, "SS pin functionality". Aus dem Text im Datenblatt des Mega32U4 kann ich diesen Sachverhalt nicht erkennen: ----------------------------------------------------- SS: Slave Port Select input. When the SPI is enabled as a slave, this pin is configured as an input regardless of the setting of DDB0. As a slave, the SPI is activated when this pin is driven low. When the SPI is enabled as a master, the data direction of this pin is controlled by DDB0. When the pin is forced to be an input, the pull-up can still be controlled by the PORTB0 bit. ----------------------------------------------------- Auch die Tabelle der SPI Pin Overrides sagt nichts dazu dass der SS Pin ein Output im Master Mode sein müsste (Siehe Bild).
Frickelfritze schrieb: >> Ja. Aber SS MUSS als Ausgang geschaltet werden. Siehe >> Datenblatt, "SS pin functionality". > > Aus dem Text im Datenblatt des Mega32U4 kann ich diesen > Sachverhalt nicht erkennen: Seite 183, Master Mode: "If SS is configured as an input, it must be held high to ensure Master SPI operation." Hat mir die Tage hier wer erklärt ;-)
Luggi F. schrieb: > "If SS is configured as an input, it must be held high to ensure Master > SPI operation." So, und nicht anders, sieht es aus!
Luggi F. schrieb: > Hat mir die Tage hier wer erklärt ;-) Du redest am Thema vorbei. Es geht darum ob SS für SPI Master Mode als Ausgang geschaltet sein muss, und das tut es bzw er nicht.
Frickelfritze schrieb: > Du redest am Thema vorbei. Find ich nicht. Er muss zwar nicht als Ausgang geschalten sein, aber "High" gehalten werden. Das tut in der Praxis schon was zur Sache...
Man muss ihn nicht als Ausgang schalten, aber das ist das einzige was Sinn macht. Kein Mensch braucht einen Eingang, der nur H sein darf. Und falls er doch mal L wird, funktioniert die SPI nicht mehr so wie geplant. Ist SS Ausgang, ist er ganz normal nutzbar. Also die einzig logische Betriebsart. Kostet doch nichts als Asgang zu schalten, selbst wenn er nicht gebraucht wird.
H.Joachim S. schrieb: > Kostet doch nichts als Asgang zu > schalten, selbst wenn er nicht gebraucht wird. Ein sinnvoller Vorschlag, aber keine MUSS Bedingung, wie hier vorher behauptet wurde.
H.Joachim S. schrieb: > Also die einzig logische Betriebsart. Kostet doch nichts als Asgang zu > schalten, selbst wenn er nicht gebraucht wird. Genau. 3 Ausgänge braucht er auf jeden Fall, was spricht dagegen, SS als einen davon zu benutzen ?
U. F. schrieb: > aber keine MUSS Bedingung, wie hier vorher behauptet wurde. Ich ergänze: ... wie Falk Brunner im Rechthabemodus oft dominiert.
H.Joachim S. schrieb: > Man muss ihn nicht als Ausgang schalten, aber das ist das einzige was > Sinn macht. > Kein Mensch braucht einen Eingang, der nur H sein darf. Für den Normalfall würde ich dir natürlich vollkommen Recht geben. Aber im Fall akuter Pin-Knappheit kann es durchaus einen Sinn ergeben. Z.B. wenn es in einer Anwendung überhaupt keine GPIO-Ausgabepins geben muss (nur Ausgaben via overrides durch nicht remappable alternate port functions) und zusätzlich ein Fehlerstatus überwacht werden soll, bei dessen Eintreten klar ist, dass die SPI-Kommunikation in der Fehlersituation für die Anwendung sowieso keine Rolle (mehr) spielt. Dann kann man diesen Eingang durchaus sinnvoll benutzen. Wie gesagt: das ist sicher nicht der Normalfall. Aber ich habe zumindest ein Projekt, in dem ich das tatsächlich benutze. Also wie immer: man sollte sich vor unzulässigen Verallgemeinerungen hüten. Jedenfalls so lange man die Sache nicht wirklich vollständig bis zur letzten Konsequenz durchdacht hat.
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.