Ich arbeite mit STM32-Mikrocontrollern. Diese Mikrocontroller haben die Möglichkeit, den Eingangspin als Pull-Up oder Pull-Down einzustellen:
Früher habe ich bei Bedarf externe Pull-Up- oder Pull-Down-Widerstände gegeben, aber jetzt frage ich mich, ob ich auf externe Komponenten verzichten und die Pull-Down-Funktion des Mikrocontrollers selbst nutzen kann.
Wird das eine gute Sache sein?
Gibt es einen Anwendungsfall, bei dem ich besonders vorsichtig sein oder diese Funktion überhaupt nicht verwenden sollte?
Ja ... Sie können ... Es ist eine bewährte Funktion. Wenn Sie die Pin-Struktur im STM32-Referenzhandbuch sehen, können Sie sehen, dass es erforderliche Komponenten hat --
Wenn dies Ihren Anforderungen entspricht, können Sie auf externe Komponenten verzichten.
Bearbeiten Denken Sie daran, dass Pins beim Einschalten tristated sind. Wenn es Ihre Bewerbung nicht behindert, ist es gut! Aus diesem Grund empfiehlt es sich, zuerst den IO-Bereich zu initialisieren und dann mit anderen Peripheriegeräten fortzufahren.
Im Allgemeinen ist es völlig in Ordnung, die internen Pull-up- oder Pull-down-Widerstände zu verwenden.
Der Nachteil ist, dass Sie vergessen können, es von der Software aus zu aktivieren, was ein wenig Kopfschmerzen verursachen kann. Die externen Klimmzüge werden immer da sein. Vergessen Sie also nicht, die internen zu aktivieren und viel PCB-Fläche zu sparen, indem Sie die Anzahl der Komponenten reduzieren.
Die internen Pull-up- und Pull-down-Widerstände des STM32 haben normalerweise einen Wert dazwischen und .
Sie sollten immer prüfen, ob Ihre Anwendung einen bestimmten Pull-up- oder Pull-down-Widerstandswert benötigt, bevor Sie die internen Widerstände verwenden. Verwenden Sie sie zum Beispiel nicht mit I 2 C , da diese Werte dafür zu hoch sind.
Sofern die Pullup- und Pulldown-Widerstände während des Zurücksetzens nicht aktiv sind (ich vermute, dass sie es nicht sind, aber ich kenne mich mit STM32-Geräten nicht aus), gibt es beim Zurücksetzen einen undefinierten Pin-Zustand. Dies ist einer der Hauptgründe für die Verwendung externer Pullup- oder Pulldown-Widerstände.
Wie andere gesagt haben, sind interne Klimmzüge und Pulldowns in Ordnung, solange:
Denken Sie beim letzten Punkt daran, dass CMOS-Eingänge auf mittlerem Spannungspegel einen erheblichen Durchschussstrom auf ihrem Eingangspaar verursachen können. Dies kann in einem Niedrigleistungssystem während des Startvorgangs ein Problem verursachen.
Im Allgemeinen führen externe Pull-Widerstände zu einem konservativeren Design.
Neben den anderen feinen Ausnahmen, die in allen Antworten aufgeführt sind, sind die internen Pull-up-Widerstände in vielen Fällen zu schwach für I²C .
Bimpelrekkie
Whiskeyjack
pjc50
Jason S
Passant
Whiskeyjack
Rev
Whiskeyjack