General Purpose Input/Output
Il General Purpose Input/Output (anche noto come GPIO) e' un'interfaccia disponibile su alcuni dispositivi elettronici. Un dispositivo microprocessore, microcontroller o interfaccia puo' avere una o più connessioni GPIO su un'interfaccia con dispositivi e periferiche esterne. Queste possono agire come input, per leggere i segnali digitali dalle altre parti del circuito, o output, per controllare o segnalare agli altri dispositivi. GPIO sono spesso collocati in gruppi, tipicamente di 8 pin - una porta GPIO - che usualmente hanno GPIO individuali configurabili o come input o come output. In alcuni casi, GIPO possono essere configurati per produrre degli CPU interrupt ed essere in grado di utilizzare il Direct Memory Access per spostare efficientemente grandi quantita' di dati per e dal dispositivo.
Le periferiche GPIO variano in misura piuttosto ampia. In alcuni casi, sono molto semplici, un gruppo di pin puo' essere commutato come gruppo di input o di output. In altri, ogni pin puo' essere impostato in modo flessibile per accettare o incorporare voltagi logici differenti, con unita' di forza configurabili e pull up/down. I voltaggi di input e output sono tipici, sebbene non universalmente limitati dalla tensione di alimentazione del dispositivo che include il GPIO, e puo' essere dannegiato da voltaggi più alti.
Alcuni GIPO hanno input con una tolleranza di 5V - anche su basse tensioni di alimentazioni (2V), il dispositivo puo' accettare 5V senza dannegiamenti.