Stap 5: Tri-Staten (niet driewielers)
Handmatig het loskoppelen van de pennen is natuurlijk een beetje moeilijk om te doen, vooral als we dingen heel snel scant voor het gebruik van de persistentie van visie effect om te laten zien een patroon. Een microcontroller output pinnen kunnen echter ook worden geprogrammeerd om input pinnen ook.
Wanneer een micro pin is geprogrammeerd als een input, gaat het in de zogenaamde 'high-impedence' of 'tri-state'. Dat wil zeggen presenteert het een zeer hoge weerstand (in de orde van megaohms, of miljoenen Ohm) aan op de pin.
Als er een zeer hoge weerstand (zie diagram) dan kan in wezen beschouwen wij de pin als de verbinding wordt verbroken, en dus de regeling van de charliplex werkt.
Het tweede diagram toont de pinnen van de matrix voor elke combinatie mogelijk voor het verlichten van elk van de 6 LED's in ons voorbeeld. Typisch een tri-state wordt aangeduid met een 'X', 5V 0V als een '0' als een '1' (voor logisch 1) wordt weergegeven. In de micro-firmware voor een '0' of '1' zou u de pinnen als een uitgang programmeren en zijn staat goed is afgebakend. Voor tri-state u het programma als invoer, en omdat het een ingang we eigenlijk niet weten wat de staat kan worden... Vandaar de 'X' voor onbekende.
Hoewel we een pin toewijzen kunnen te tri-state of een input, hoeven we niet om het te lezen. Wij profiteren gewoon van het feit dat een invoer pin op een microcontroller is hoge impedence.