Forum: Mikrocontroller und Digitale Elektronik STM32 SPI NSS-Pin


von Fire Eagle (Gast)


Lesenswert?

Hallo!

Ich bin neu auf dem STM32F103 und möchte gerade das SPI ausprobieren.

Meine erste Frage: Es gibt auf dem STM32F103 2 Sätze SPIpins: also 
SPI1_MISO,..., SPI2_MISO,..., und auch in APB je ein clock enable, aber 
nur ein Set SPI-Kontrollregister.
Ist das nur, damit man mit den Pins flexibler ist? Und was passiert, 
wenn man SPI1 in APB2 und SPI2 in APB1 gleichzeitig aktiviert? 
Doppelter, identischer output?

Mir ist auch noch nicht klar, wie die Steuerung der Slave-Select Leitung 
funktioniert. Laut datasheet kann man für Single-Master Betrieb in 
SPI_CR1 SSM und SSI auf 0 lassen und SSOE auf 1 setzen. Wird dann die 
NSS-Leitung automatisch beim SPI-enable low oder muss man das manuell 
machen?

Danke!

von (prx) A. K. (prx)


Lesenswert?

Fire Eagle schrieb:
> aber nur ein Set SPI-Kontrollregister.

Nein.

von (prx) A. K. (prx)


Lesenswert?

Fire Eagle schrieb:
> NSS-Leitung automatisch beim SPI-enable low oder muss man das manuell
> machen?

Da stolpert jeder anfangs drüber. Nein, die NSS Leitung arbeitet nicht 
vollautomatisch. Jedenfalls nicht, wenns ans Abschalten geht.

von Fire Eagle (Gast)


Angehängte Dateien:

Lesenswert?

Hallo!

Bezüglich Kontrollregister: Hier ein Screenshot des Datasheets.

Wenn es da Kontrollregister für mehrere SPIs gäbe, musst das doch 
irgendwo stehen, bzw. müssten die SPIx_CR1 usw. heißen.

von (prx) A. K. (prx)


Lesenswert?

Zu sehr AVRs gewohnt? Die ARMs sind modularisiert, die einzelnen 
I/O-Module besitzen jeweils einen eigenen Adressblock mit den 
Steuerregistern nur dieses Moduls. Hat ein Controller 2 SPIs, dann hat 
er 2 solche Adressblöcke.

Den von dir gezeigten Block gibts folglich mehrfach. Weshalb dort auch 
keine Adresse eines Registers drinsteht. Nur ein Offset.

Beachte die mit "Refer to ..." beginnende Fussnote.

von Fire Eagle (Gast)


Lesenswert?

Ja, bin AVR-verwöhnt.

Was genau macht dann SSOE in SPI_CR1?

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
Noch kein Account? Hier anmelden.