Forum: Mikrocontroller und Digitale Elektronik STM32H753 MISO GPIO lesen im SPI Mode möglich?


von Gerald M. (gerald_m17)


Lesenswert?

Hallo,

ich habe mehrere SPI-Slaves an einem SPI-Kanal, natürlich mit getrennten 
CS-Pins.
Diese Slaves brauchen eine Weile um ihre Daten zu verarbeiten. In dieser 
Zeit kann man prüfen ob sie fertig sind, indem man den CS-Pin auf low 
stellt. Wenn am MISO dann ein "low" ausgegeben wird, kann man ihn 
auslesen, bei einem "high" rechnet er noch.
Jetzt kann ich das leider momentan nicht testen, aber kann mir jemand 
sagen ob ich problemlos am GPIO-Register (GPIOx->IDR) lesen kann ob der 
MISO Pin high oder low ist, oder ist durch den alternate mode für SPI 
der Pin komplett von dieser Funktion getrennt, so dass man vorher SPI 
deaktivieren müsste und den Mode wieder zurückstellen (und später wieder 
auf alternate mode stellen)?
Das SPI würde ich so einstellen, dass es auch wenn gerade nicht gelesen 
wird den State behält ("Master Keep Io State Enable"), da ich sonst 
öfter Probleme hatte.

von A. B. (Gast)


Lesenswert?

RM0399, 12.3.12 Alternate function configuration:

"When the I/O port is programmed as alternate function:
...
•The Schmitt trigger input is activated
•The weak pull-up and pull-down resistors are activated or not depending 
on the value in the GPIOx_PUPDR register
•The data present on the I/O pin are sampled into the input data 
register every AHB clock cycle
•A read access to the input data register gets the I/O state
Figure 80 shows the Alternate function configuration of the I/O port 
bit."

von Gerald M. (gerald_m17)


Lesenswert?

Super, danke.
Mir war fast klar, dass das irgendwo steht, habe es nur nicht gefunden.
Dann funktioniert das ja wie geplant.

von blub (Gast)


Lesenswert?

Ich denke bei fast allen uC's ist es möglich den Pin-Input zu lesen 
unabhängig der Funktion (sogar wenn der Pin als output konfiguriert 
ist).

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.