Ich habe diese Antwort von STM32 gefunden
- GPIO_PuPd (Pull-Up / Pull-Down)
In digitalen Schaltkreisen ist es wichtig, dass Signalleitungen niemals "floaten" dürfen. Das heißt, sie müssen sich immer in einem hohen oder niedrigen Zustand befinden. Im schwebenden Zustand ist der Zustand unbestimmt und verursacht einige verschiedene Arten von Problemen.
Um dies zu korrigieren, fügen Sie einen Widerstand von der Signalleitung entweder zu Vcc oder zu Gnd hinzu. Auf diese Weise bewirkt der Widerstand, dass das Potential auf einen bekannten Pegel abweicht, wenn die Leitung nicht aktiv hoch oder niedrig angesteuert wird.
Der ARM (und andere Mikrocontroller) verfügen dazu über eine integrierte Schaltung. Auf diese Weise müssen Sie Ihrer Schaltung keinen weiteren Teil hinzufügen. Wenn Sie beispielsweise "GPIO_PuPd_UP" wählen, ist es gleichbedeutend damit, einen Widerstand zwischen der Signalleitung und Vcc hinzuzufügen.
Push-Pull: Dies ist der Ausgabetyp, den die meisten Leute als "Standard" betrachten. Wenn der Ausgang niedrig wird, wird er aktiv auf Masse "gezogen". Wenn umgekehrt der Ausgang auf hoch eingestellt ist, wird er aktiv in Richtung Vcc "geschoben". Vereinfacht sieht es so aus:
Ein Open-Drain-Ausgang ist dagegen nur in eine Richtung aktiv. Es kann den Stift in Richtung Boden ziehen, aber nicht hoch fahren. Stellen Sie sich das vorherige Bild vor, jedoch ohne den oberen MOSFET. Wenn der (untere) MOSFET nicht an Masse gezogen wird, ist er einfach nicht leitend, wodurch der Ausgang schwebt.
Für diese Art von Ausgang muss der Schaltung ein Pull-up-Widerstand hinzugefügt werden, der bewirkt, dass die Leitung hoch geht, wenn sie nicht tief angesteuert wird. Sie können dies mit einem externen Teil tun oder indem Sie den GPIO_PuPd-Wert auf GPIO_PuPd_UP setzen.
Der Name kommt von der Tatsache, dass der Drain des MOSFETs intern mit nichts verbunden ist. Diese Art von Ausgang wird auch als "Open-Collector" bezeichnet, wenn ein BJT anstelle eines MOSFET verwendet wird.
Grundsätzlich regelt dies die Anstiegsgeschwindigkeit (Anstiegs- und Abfallzeit) des Ausgangssignals. Je schneller die Anstiegsgeschwindigkeit ist, desto mehr Rauschen wird von der Schaltung abgestrahlt. Es wird empfohlen, die Anstiegsgeschwindigkeit langsam zu halten und nur zu erhöhen, wenn Sie einen bestimmten Grund haben.