Forum: Mikrocontroller und Digitale Elektronik [STM32] Interner Pullup bei PushPull-Ausgang


von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Beim Durchstöbern im Netz finde ich desöfteren in STM32F4-Quellcodes 
folgende Kombination:
1
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
2
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;

Hier wird also der interne PullUp in Kombination mit einem 
PushPull-Ausgang aktiviert.

Frage: Welchen Sinn macht das?

von Klaus H. (hildek)


Lesenswert?

Direkt wohl keinen.
Vielleicht wird nur vorgebeugt, weil der IO an anderer Stelle mal zum 
Input umdefiniert wird - oder werden könnte.

von Thomas F. (igel)


Lesenswert?

Frank M. schrieb:
> Frage: Welchen Sinn macht das?

Macht wohl nix:

Laut Ref-Manual STM32F10x:

When the port is configured as output:
..
The weak pull-up and pull-down resistors are disabled.


Nachtrag:

Ref-Manual STM32F4x:
When the port is configured as output:
..
The weak pull-up and pull-down resistors are activated or not depending 
on the value in the GPIOx_PUPDR register

Ein Zweck wird nicht genannt, evtl. um den Port zu heizen.

: Bearbeitet durch User
von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Klaus H. schrieb:
> Vielleicht wird nur vorgebeugt, weil der IO an anderer Stelle mal zum
> Input umdefiniert wird - oder werden könnte.

Das dachte ich mir auch schon, allerdings war das in den konkreten 
Fällen nicht der Fall. Das Witzige: Je mehr ich gezielt nach 
GPIO_OType_PP und GPIO_PuPd_UP im Netz suche, desto mehr finde ich von 
diesen Kombis. Offenbar hat mal einer damit angefangen und die anderen 
schreiben dann ab.

Thomas F. schrieb:
> Ein Zweck wird nicht genannt,

Okay, danke für den Hinweis. Es hätte ja sein können, dass diese 
Kombination irgendetwas "Magisches" auslöst.

> evtl. um den Port zu heizen.

:-)

von Chris D. (m8nix)


Lesenswert?

Ich denke das hat was mit dem Standby mode zu tun, also nicht mit den 
Stop modes. Im Standby mode werden die IO's abgeschaltet (float). Um 
trotzdem einen definierten Zustand zu haben, kann man die Pull 
Widerstände setzen.
Kann das sein?

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.