GPIO (mikroprocessor)
Den här artikeln behöver källhänvisningar för att kunna verifieras. (2023-01) Åtgärda genom att lägga till pålitliga källor (gärna som fotnoter). Uppgifter utan källhänvisning kan ifrågasättas och tas bort utan att det behöver diskuteras på diskussionssidan. |
General Purpose In/Out (GPIO) används i ett datorsystem för att styra och känna av logiska signaler.
Översikt
I nästan alla datorsystem finns det logiskt binära signaler in och/eller ut. Exempel på användningsområden är att läsa av tangentbordstryckningar, styra lysdioder och implementera binära kommunikationsprotokoll som till exempel IEEE 1284 från Centronics för parallelporten på en PC. En GPIO port kan ofta programmeras att antingen vara en utgång eller ingång eller faktiskt även både och.
Ingång
När GPIO-porten läses av datorprogrammet samplar den spänningsnivån på varje ansluten ingång. Varje ingång motsvaras av en bit och grupperas ofta i form av en eller flera bytes. Spänningsnivåerna jämförs med de logiska nivåerna som datorsystemet är konstruerat eller med standardiserade nivåer som exempelvis TTL och sätter biten till motsvarande logisk etta eller nolla. Det är vanligt att det sitter extern elektronik mellan omvärlden och GPIO kretsen för att anpassa nivåerna.
Det är vanligt att koppla ett avbrott till en ingång och på så sätt kunna väcka CPUn när signalerna har ändrat sig.
Utgång
När ett datorprogram skriver till en GPIO-port ändras som regel värdena på alla anslutna signaler med en enda skrivning. Det är därför viktigt att datorprogrammet först läser av eller kommer ihåg värdena på de utsignaler man inte avser att förändra och bara manipulerar de avsedda bitarna och därmed motsvarande signaler. En sådan sekvens kallas läs-modifiera-skriv cykel och stöds direkt av vissa CPUer som en atomisk operation.
Media som används på denna webbplats
Författare/Upphovsman: Tkgd2007, Licens: CC BY-SA 3.0
A new incarnation of Image:Question_book-3.svg, which was uploaded by user AzaToth. This file is available on the English version of Wikipedia under the filename en:Image:Question book-new.svg