Fondamenti · Lezione 4 di 11 · circa 15 min

GPIO: pin in ingresso e in uscita

Accendi un LED, leggi un pulsante

GPIO significa ingresso/uscita di uso generale. Un pin configurato come uscita mette 3,3 V o 0 V sul filo. Un pin configurato come ingresso legge la tensione che arriva dall’esterno.

La schermata Impara di BoardPilot: una lezione con l’anteprima della scheda in 3D
Provala dal vivo

La vera app, nel tuo browser: questa lezione con la sua anteprima 3D su una scheda ESP32 DevKit (30 pins) simulata. Niente da installare, niente da collegare.

Con una resistenza di pull-up il pin legge 1 quando nessuno tocca il pulsante. Premendolo il pin va a massa, quindi premuto legge 0. All’inizio sembra al contrario, ma è il modo standard di collegare un pulsante.

Tre passi per qualsiasi pin

  1. Accendi il clock della porta. Le periferiche partono spente per risparmiare energia; dimenticarlo è l’errore più comune dei principianti.
  2. Imposta la modalità del pin: ingresso, uscita, funzione alternativa (UART, I2C e altre) o analogico.
  3. Scrivi il registro di uscita, oppure leggi il registro di ingresso.
// NUCLEO-F401RE: green LED on PA5, blue button on PC13
RCC->AHB1ENR |= (1 << 0) | (1 << 2);   // 1. clock on for ports A and C
GPIOA->MODER &= ~(3 << (5 * 2));       // 2. PA5: clear its two mode bits
GPIOA->MODER |=  (1 << (5 * 2));       //    01 = output

while (1) {                            // 3. read the button, drive the LED
    if ((GPIOC->IDR & (1 << 13)) == 0) GPIOA->ODR |=  (1 << 5);
    else                               GPIOA->ODR &= ~(1 << 5);
}

In BoardPilot, Testa l’hardware legge e comanda i pin reali, e la scheda 3D mostra ogni pin che usi.

Domande da colloquio

  1. Che cos’è una resistenza di pull-up e perché serve a un pulsante?
  2. Che cos’è il rimbalzo dei contatti e come si gestisce?
  3. Perché bisogna attivare il clock di una periferica prima di usarla?

Qui non ci sono le risposte, apposta: prova prima a rispondere ad alta voce. Nell’app BoardPilot l’allenatore per i colloqui legge la tua risposta e ti dice cosa era giusto, cosa manca e cosa chiederebbe dopo un intervistatore senior (usa il fornitore di IA che scegli nell’app). Domande da colloquio sui sistemi embedded →

Parole chiave

Nell’app le lezioni prendono vita

Nell’app le lezioni hanno demo interattive ed esercitazioni pratiche verificate sulla tua scheda. Queste pagine sono la versione da leggere: le demo sono descritte a parole e le esercitazioni richiedono l’app.

Scarica BoardPilot Prova le lezioni nel browser