Charlieplexing lysdioder - teorin (5 / 7 steg)
Steg 5: Tri-stater (inte trehjulingar)
Naturligtvis är manuellt koppla stiften lite svårt att göra, särskilt om vi skannar saker mycket snabbt för att använda persistens av vision effekt för att visa ett mönster. En mikrokontroller utgångsstift kan emellertid också programmeras att vara input stift samt.
När en mikro pin är programmerad för att vara en ingång, går det in i det som kallas "high-impedence" eller "tri-state". Det vill säga presenterar den en mycket hög motståndskraft (storleksordningen megaohms, eller miljontals ohm) till stift.
Om det finns en mycket hög motståndskraft (se diagram) då kan vi i huvudsak kan betrakta pin som kopplas, och så det charliplex systemet fungerar.
Det andra diagrammet visar matrix stiften för varje kombination möjligt att belysa var och en av de 6 lysdioderna i vårt exempel. Vanligtvis en tri-stat betecknas med ett "X", 5V visas som en '1' (för logiska 1) och 0V som en "0". I micro firmware för en '0' eller '1' programmerar stiften att en utgång och det är staten är väl definierad. För tri-stat du programmera det är en ingång, och eftersom det är en ingång vi faktiskt inte vet vad staten kan vara... därav "X" för okänd.
Även om vi kan avsätta en pin för att vara tri-stat eller en ingång, behöver vi inte läsa den. Vi dra bara nytta av en ingångsstift på en mikrokontroller är hög impedence.