- ESP32 utmärker sig genom sin multiplexeringskapacitet, vilket gör att de flesta av dess GPIO-funktioner kan omtilldelas till olika pinnar beroende på projektets behov.
- Det finns kritiska begränsningar för fastspänningsstiften och endast ingångsstiften som kan påverka systemets start eller funktionalitet.
- Enheten integrerar avancerad kringutrustning som ADC- och DAC-omvandlare, UART-, SPI- och I2C-kommunikationsgränssnitt samt kapacitiva beröringssensorer.

Om du ger dig in i mikrokontrollernas värld är det första du bör göra att förstå hur hårdvaran du använder fungerar. ESP32 är inte bara vilken gammal pryl som helst; den är betydligt kraftfullare än den klassiska Arduino eller ESP8266, och erbjuder ett antal GPIO:er och funktioner som sätter dess föregångare på skam. Men all den kraften gör den lite mer komplex, särskilt på grund av det stora antalet konfigurationsalternativ den erbjuder.
För att undvika att gå vilse med kablarna är det avgörande att förstå pinouten, särskilt om du använder det officiella Espressif DevKitC-kortet. Tänk dock på att inte alla kort är likadana och pinouten kan variera beroende på tillverkare eller vilket system-on-a-chip (SoM) du använder, så att kontrollera den tekniska dokumentationen för din specifika enhet är alltid det smartaste draget.
Konsten att multiplexera och PSTN
En av ESP32:s kronjuveler är multiplexering. I grund och botten betyder det att du kan omfördela de flesta funktioner till nästan vilket pin som helst utan att kompromissa med prestandan. Standardvärdena är bara ett förslag; du kan omorganisera funktionerna efter behov för att bättre organisera din krets.
Å andra sidan har vi RTC (Real Time Clock), vilket är hjärnan som styr när chipet går in i lågströmslägen. Detta system inkluderar en styrenhet, snabbt SRAM-minne (8 kB) som inte raderas under djup sömn , och långsamt minne för ULP-processorn (Ultra Low Power), idealisk för att väcka mikrokontrollern när en specifik händelse inträffar.
Att bryta ner de digitala pinnarna (GPIO)

ESP32 kan ha upp till 34 konfigurerbara GPIO-pinnar. De allra flesta låter dig aktivera interna pull-up- eller pull-down-motstånd , vilket sparar dig från att lägga till extra komponenter på kortet. Du måste dock vara försiktig med vissa pingrupper.
Konfigurationsstift eller band
Det finns fem stift som kallas "strapping"-stift som chipet konsulterar vid uppstart för att avgöra vilket läge det ska starta i. Dessa är GPIO-stiften 0, 2, 4, 5, 12 och 15. Om du ansluter något till dessa stift som tvingar fram ett annat elektriskt tillstånd än det som krävs, kanske ESP32 inte startar eller inte går in i programmeringsläge. Det är bäst att undvika att använda dem i ditt projekt för att förhindra obehagliga överraskningar.
Stift som endast tillåter inmatning
Alla GPIO-pinnar är inte skapade lika. GPIO-pinnarna 34, 35, 36 och 39 är strikt ingångar. Glöm bort att försöka använda dem som digitala utgångar eftersom de helt enkelt inte kan det. Dessutom, till skillnad från de andra, saknar dessa pinnar interna motstånd , så du måste lägga till dem externt om det behövs.
Avbrott och GPIO RTC
Den goda nyheten är att alla GPIO:er kan konfigureras som avbrott , vilket ger otrolig flexibilitet för att läsa tryckknappar eller sensorer. Dessutom är vissa specifika pinnar länkade till RTC-undersystemet (som GPIO:erna 36, 39, 34, 35, 25, 26, 33, 32, 4, 0, 2, 15, 13, 12, 14 och 27), vilket gör att ULP-koprocessorn kan väcka systemet från djupvila.
Kapacitiva beröringssensorer
ESP32 levereras som standard med 10 pinnar som fungerar som beröringssensorer. De kan detektera kapacitansen hos ett mänskligt finger, vilket gör att du kan ersätta mekaniska knappar med pekytor. De tilldelade pinnarna är GPIO 4, 0, 2, 15, 13, 12, 14, 27, 33 och 32.
Analog signalhantering och PWM
När det gäller analoga signaler är ESP32 ett monster. Den har två ADC:er som hanterar upp till 18 kanaler. Dessa ADC:er är 12-bitars, vilket ger oss 4096 precisionsnivåer (ungefär 0.8 mV). Det finns dock en viktig detalj: ADC2 kan inte användas om Wi-Fi eller Bluetooth är aktivt , så ADC1 är det säkrare alternativet.
För digital-till-analog-omvandling har vi två 8-bitars DAC:er (GPIO 25 och 26) som kan leverera en spänning mellan 0 och 3.3 V. När det gäller PWM är ESP32 extremt mångsidig, eftersom den kan generera PWM-signaler på nästan alla sina utgångar , förutom de enbart ingångsstiften (34 till 39).
Kommunikationsprotokoll

ESP32 erbjuder flera sätt att kommunicera med andra enheter. UART har tre gränssnitt. UART0 används för programmering och felsökning, och UART1 är vanligtvis reserverat för flashminne, vilket gör UART2 till det mest pålitliga alternativet för att ansluta externa moduler.
För I2C-bussen, även om du kan definiera vilken pin som helst via programvara, är standardinställningarna GPIO 21 (SDA) och GPIO 22 (SCL) . När det gäller SPI finns det tre gränssnitt, men endast VSPI och HSPI kan användas av användaren. SPI Flash-pinnarna (GPIO 6 till 11) är förbjudna ; att vidröra dem kommer troligtvis att orsaka att systemet kraschar, eftersom de är länkade till internminnet.
Strömstyrning och återställning
ENABLE (EN)-pinnen styr 3.3 V-regulatorn. Den har ett pull-up-motstånd som håller den aktiv, men jordning avbryter strömmen till chipet. Detta är extremt användbart för att manuellt återställa systemet med en enkel tryckknapp.
Att förstå ESP32:s pinout gör att du kan utnyttja dess dubbelkärniga processor och trådlösa anslutning fullt ut utan risk för att skada komponenter eller förhindra starttider. Från att hantera ADC:er och DAC:er till strategisk användning av snare-pins och multiplexering är att behärska dess hårdvara nyckeln till att skapa robusta och effektiva IoT-enheter som inte orsakar problem i slutlig driftsättning.
Index