Vilka ESP32-stift har pull-ups

Vilka Esp32 Stift Har Pull Ups



Om du är en elektronikentusiast eller en utvecklare som arbetar med ESP32, kanske du har hört talas om pull-up- och pull-down-motstånden. Dessa motstånd säkerställer att en digital ingångsstift har en stabil logisk nivå. I den här artikeln kommer vi att diskutera vilka stift på ESP32 som har inbyggda pull-up-motstånd och hur man aktiverar dem.

Förstå Pull-Up-motstånd

Innan du dyker in i detaljerna för ESP32 pull-up stift, är det viktigt att förstå rollen av pull-up motstånd i en krets. När en digital ingångsstift lämnas flytande (inte ansluten till någon spänningskälla) kan den läsa slumpmässiga värden, vilket gör det svårt att bestämma dess logiska nivå.

För att undvika detta problem är ett pull-up-motstånd anslutet mellan ingångsstiftet och en spänningskälla (vanligtvis Vcc) för att säkerställa att ingången läser ett högt (logiskt 1) tillstånd som standard. När ingången är ansluten till en låg (logisk 0) signal, drar motståndet ingången ner till marken, vilket gör att ingången kan läsa ett lågt tillstånd.







Inbyggda Pull-Up Pins på ESP32

ESP32-mikrokontrollern har 34 ingångs-/utgångsstift (GPIO) för allmänna ändamål, som kan konfigureras som antingen digitala eller analoga stift. Bland dessa 34 stift har vissa stift inbyggda pull-up-motstånd som kan aktiveras av programvara.



Följande tabell visar stiften på ESP32 som har inbyggda pull-up-motstånd:



Pinkod Pinnamn Inbyggd Pull-Up Resistor
0 GPIO0 Ja
2 GPIO2 Ja
4 GPIO4 Ja
5 GPIO5 Ja
12 GPIO12 Ja
13 GPIO13 Ja
14 GPIO14 Ja
femton GPIO15 Ja
25 GPIO25 Ja
26 GPIO26 Ja
27 GPIO27 Ja
32 GPIO32 Ja
33 GPIO33 Ja
3. 4 GPIO34 Nej
35 GPIO35 Nej
36 GPIO36 Nej
39 GPIO39 Nej

Som du kan se har de flesta digitala stiften på ESP32 inbyggda pull-up-motstånd. Men inte alla stift har denna funktion. Stiften 34, 35, 36 och 39 har inte inbyggda pull-up-motstånd.





Notera: I ESP32 är Integrated pull-up och pull-down resistorer endast tillgängliga i stift som stöder både ingång och utgång. GPIO:er 34-39 , som är begränsade till endast ingång, har inte dessa motstånd inbyggda.



Kontrollera hela ESP32 Pinout Referens .

Aktiverar Pull-Up Resistors på ESP32

För att aktivera pull-up-motståndet på ett ESP32-stift kan du använda gpio_set_pull_mode() funktion som tillhandahålls av ESP-IDF ramverket.

Denna funktion tar två argument:

  • GPIO-pinnumret
  • Uppdragningsläget

Pull-up-läget kan vara antingen GPIO_PULLUP_ENABLE eller GPIO_PULLUP_DISABLE . Här är en exempelkod som aktiverar pull-up-motståndet på GPIO2:

#inkludera 'driver/gpio.h'

tomhet enable_pull_up ( ) {

gpio_set_pull_mode ( GPIO_NUM_2 , GPIO_PULLUP_ENABLE ) ;

}

pinMode ( 5 , INPUT_PULLUP ) ;

Det är viktigt att notera att aktivering av pull-up-motståndet på ett stift kommer att påverka dess beteende när stiftet används som en utgång. I detta fall kommer pull-up-motståndet att fungera som en svag strömkälla och kan påverka utspänningsnivån.

Alternativt kan vi också aktivera interna pull-ups på ESP32 med hjälp av pinMode() Arduino funktion.

pinMode ( 5 , INPUT_PULLUP ) ;

Ovanstående kod kommer att aktivera det interna pull-up-motståndet på stiftet 5 . På samma sätt kan du aktivera det interna neddragningsmotståndet genom att ange läget INPUT_PULLDOWN .

Slutsats

Pull-up-motstånd är viktiga komponenter i digitala kretsar, och ESP32-mikrokontrollern har inbyggda pull-up-motstånd på de flesta av sina digitala stift. Aktivering av dessa motstånd kan säkerställa stabila logiska nivåer och undvika flytande ingångsproblem. Det är dock viktigt att notera att inte alla stift på ESP32 har inbyggda pull-up-motstånd, så det är viktigt att kontrollera ESP32 pinout eller datablad innan du designar en krets. Dessutom kan aktivering av pull-up-motståndet påverka stiftets beteende när det används som utgång.