Hvilke ESP32-stifter har pull-ups

Hvilke Esp32 Stifter Har Pull Ups



Hvis du er en elektronikentusiast eller en udvikler, der arbejder med ESP32, har du måske hørt om pull-up og pull-down modstandene. Disse modstande sikrer, at en digital input-pin har et stabilt logisk niveau. I denne artikel vil vi diskutere, hvilke ben på ESP32 der har indbyggede pull-up modstande, og hvordan man aktiverer dem.

Forståelse af pull-up modstande

Før du dykker ned i detaljerne ved ESP32 pull-up ben, er det vigtigt at forstå rollen som pull-up modstande i et kredsløb. Når en digital input-pin efterlades flydende (ikke forbundet til nogen spændingskilde), kan den læse tilfældige værdier, hvilket gør det vanskeligt at bestemme dets logiske niveau.

For at undgå dette problem er en pull-up modstand forbundet mellem indgangsbenet og en spændingskilde (typisk Vcc) for at sikre, at indgangen læser en høj (logisk 1) tilstand som standard. Når indgangen er forbundet til et lavt (logisk 0) signal, trækker modstanden indgangen ned til jorden, så indgangen kan læse en lav tilstand.







Indbyggede Pull-Up Pins på ESP32

ESP32-mikrocontrolleren har 34 generelle input/output (GPIO) ben, som kan konfigureres som enten digitale eller analoge ben. Blandt disse 34 ben har nogle ben indbyggede pull-up modstande, der kan aktiveres af software.



Følgende tabel viser benene på ESP32, der har indbyggede pull-up modstande:



Pinkode Pin navn Indbygget pull-up modstand
0 GPIO0 Ja
2 GPIO2 Ja
4 GPIO4 Ja
5 GPIO5 Ja
12 GPIO12 Ja
13 GPIO13 Ja
14 GPIO14 Ja
femten GPIO15 Ja
25 GPIO25 Ja
26 GPIO26 Ja
27 GPIO27 Ja
32 GPIO32 Ja
33 GPIO33 Ja
3. 4 GPIO34 Ingen
35 GPIO35 Ingen
36 GPIO36 Ingen
39 GPIO39 Ingen

Som du kan se, har de fleste digitale ben på ESP32 indbyggede pull-up modstande. Det er dog ikke alle stifter, der har denne funktion. Ben 34, 35, 36 og 39 har ikke indbyggede pull-up modstande.





Bemærk: I ESP32 er integrerede pull-up og pull-down modstande kun tilgængelige i ben, der understøtter både input og output. GPIO'er 34-39 , som er begrænset til kun input, har ikke disse modstande indbygget.



Tjek det komplette ESP32 Pinout Reference .

Aktiverer Pull-Up-modstande på ESP32

For at aktivere pull-up-modstanden på en ESP32-stift kan du bruge gpio_set_pull_mode() funktion leveret af ESP-IDF rammen.

Denne funktion tager to argumenter:

  • GPIO pin-nummeret
  • Pull-up-tilstanden

Pull-up-tilstanden kan være enten GPIO_PULLUP_ENABLE eller GPIO_PULLUP_DISABLE . Her er en eksempelkode, der aktiverer pull-up-modstanden på GPIO2:

#include 'driver/gpio.h'

ugyldig enable_pull_up ( ) {

gpio_set_pull_mode ( GPIO_NUM_2 , GPIO_PULLUP_ENABLE ) ;

}

pinMode ( 5 , INPUT_PULLUP ) ;

Det er vigtigt at bemærke, at aktivering af pull-up-modstanden på en stift vil påvirke dens adfærd, når stiften bruges som udgang. I dette tilfælde vil pull-up-modstanden fungere som en svag strømkilde og kan påvirke udgangsspændingsniveauet.

Alternativt kan vi også aktivere interne pull-ups på ESP32 ved hjælp af pinMode() Arduino funktion.

pinMode ( 5 , INPUT_PULLUP ) ;

Ovenstående kode vil aktivere den interne pull-up modstand på pin 5 . På samme måde kan du aktivere den interne pull-down modstand ved at angive tilstanden INPUT_PULLDOWN .

Konklusion

Pull-up-modstande er væsentlige komponenter i digitale kredsløb, og ESP32-mikrocontrolleren har indbyggede pull-up-modstande på de fleste af sine digitale ben. Aktivering af disse modstande kan sikre stabile logiske niveauer og undgå flydende inputproblemer. Det er dog vigtigt at bemærke, at ikke alle ben på ESP32 har indbyggede pull-up modstande, så det er vigtigt at tjekke ESP32 pinout eller datablad før design af et kredsløb. Derudover kan aktivering af pull-up-modstanden påvirke stiftens opførsel, når den bruges som output.