I et digitalt system kan et signal typisk eksistere i en av to tilstander – logisk 1 eller logisk 0. I visse situasjoner kan det imidlertid oppstå en tredje tilstand, kjent som tri-state-tilstanden.
Tri-state-tilstanden oppstår når utgangen til en digital enhet er frakoblet eller "flytende". Dette betyr at utgangen verken drives aktivt til høy eller lav tilstand, men i stedet antar en ubestemt verdi som kan påvirkes av eksterne faktorer.
Tri-state forhold brukes ofte i situasjoner der flere enheter er koblet til samme utgangslinje. Ved å kjøre en enhet inn i en tri-state, kan utgangslinjen effektivt "åpnes", slik at en annen enhet kan ta kontroll over linjen uten å forårsake konflikter. Denne funksjonen er spesielt nyttig i bussbaserte systemer, der mange enheter kan dele en felles data- eller adresselinje.
Her er en forenklet illustrasjon av en tri-state tilstand:
```
+---------+
| Enhet A |
Utgang ---------->| Tri-State Buffer |--------- Inngang
| Enhet B |
+---------+
```
I dette eksemplet er både enhet A og enhet B koblet til samme utgangslinje, som går gjennom en tri-state buffer. Når Enhet A ønsker å sende data, kjører den aktivt utdataene til en høy eller lav tilstand. Når Enhet B ønsker å sende data, setter den utdataene i en tri-state-tilstand, slik at Enhet A sine data kan passere gjennom bufferen og vises på utgangslinjen.
Ved å bruke tri-state forhold kan flere enheter kommunisere over en delt linje uten å forstyrre hverandre. Ved å aktivere og deaktivere tri-state-tilstanden, kan enheter effektivt bytte på å sende data uten behov for kompleks voldgiftslogikk.