General Purpose Input/Output
# General Purpose Input/Output

Il General Purpose Input/Output (in acronimo GPIO) è un'interfaccia informatica hardware disponibile su alcuni dispositivi elettronici.

Consente ai dispositivi come microprocessore, microcontroller o un connettore elettrico che ne siano dotati di interagire con un'altra periferica. Queste possono agire come input, per leggere i segnali digitali dalle altre parti del circuito, o output, per controllare o segnalare agli altri dispositivi.

Il dispositivo hardware presenta una piedinatura tipicamente organizzata in gruppi - generalmente di 8 pin - che sono configurabili individualmente come input o come output. In alcuni casi, tali porte possono essere impostate per produrre degli interrupt CPU ed essere in grado di utilizzare il Direct Memory Access per spostare efficientemente grandi quantità di dati in entrata oppure in uscita dal dispositivo.

Le periferiche GPIO sono disponibili in una ampia gamma modelli; in alcuni casi sono molto semplici, ad esempio un gruppo di pin può essere commutato come gruppo di input o di output. In altri, ogni piedino può essere impostato in modo flessibile per accettare o leggere livelli logici differenti, con unità di forza configurabili e pull up/down. Le tensioni elettriche di input e output sono tipiche, sebbene non universalmente limitati dalla tensione di alimentazione del dispositivo che includa tale tipo di porta hardware, e può essere danneggiato da tensioni più elevate.

Inoltre alcuni dispositivi GPIO hanno ingressi con una tolleranza ai 5 V - anche su basse tensioni di alimentazioni (3.3 o 2 V), per cui il dispositivo può accettare 5V in ingresso senza essere danneggiato.

