Popis GPIO

Z Kiwiki
Verzia z 21:13, 31. máj 2010, ktorú vytvoril Ecery (diskusia | príspevky) (Vytvorená stránka „GPIO - general purpose input-output , slovensky: všeobecne použiteľné vstupy-výstupy Slúžia pre dvojstavové odosielanie alebo príjímanie informácie. Je to najje…“)
(rozdiel) ← Staršia verzia | Aktuálna úprava (rozdiel) | Novšia verzia → (rozdiel)
Skočit na navigaci Skočit na vyhledávání

GPIO - general purpose input-output , slovensky: všeobecne použiteľné vstupy-výstupy

Slúžia pre dvojstavové odosielanie alebo príjímanie informácie. Je to najjednoduchší spôsob komunikácie mikroprocesora s okolím. Dané piny mikroprocesora môžu byť použité ako vstup alebo výstup.

Ak je nejaký pin mikroprocesora použitý ako vstup, môže mikroprocesor v ľubovolnom čase čítať binárnu hodnotu z tohto pinu. Ak je použitý ako výstup, môže byť tento pin nastavený na logickú hodnotu 0 alebo 1.

Porty môžu byť riadené priamo CPU cez systémovú zbernicu alebo k nim môžu byť pripojené vstupy / výstupy analógových a digitálnych blokov. Piny portov môžu mať rôzne funkcie. Je možné v čase konfigurovať a meniť funkcie pinov portu.

Počet 8-bitových portov závisí od typu procesora PSoC:

table name
Typ počet portov názov portov
29466 3 porty Port0 – Port2
29566 5 portov Port0 – Port4
29666 6 portov Port0 – Port5
29866 r8 portov Port0 – Port7

Súbor:PSOC.jpg

Zapojenie portov CY8C28466

Príklad.jpg Príklad.jpg

Pin ako VSTUP

Pri priamom vstupe binárnej hodnoty na port je potrebné nastaviť mód portu (pin-u) pomocou PSoC-Designer alebo kódu v assembleri. Štandardný mód pre vstup je Hi-Z Digital (stav vysokej impendancie)

Načítať hodnotu registra PRTxDR

Hodnoty všetkých bitov portu sa skopírujú do premennej

Príklad - Čítanie hodnoty pinu Port1[2] Predpokladáme, že pin Port1[2] je konfigurovaný ako Hi-Z Digital

mov A, reg[PRT1DR]

Ostatné piny poskytnú aktuálne hodnoty, piny nastavené ako výstupné poslednú zapísanú hodnotu

Príklad - Slučka čakania na stav Port1[2] → LOW

loop: tst reg[PRT1DR], %00000100 jz loop

Pin ako VÝSTUP

Pri priamom výstupe binárnej hodnoty na port je potrebné

Nastaviť mód portu (pin-u) Pomocou PSoC-Designer alebo ASM (vysvetlené neskôr) Štandardný mód pre výstup je Strong Drive

Zapísať '0' alebo '1' do zodpovedajúcich bitov registra PRTxDR

Hodnota je na pinoch portu statická, zmení sa len pri ďaľšom zápise do registra PRTxDR

Príklad - Zápis '1' do Port1[4] Predpokladáme, že pin Port1[4] je konfigurovaný ako Strong Drive a ostatné piny portu sú konfigurované ako vstupy Analog Hi-Z

mov reg[PRT1DR], %00010000

Zápis do ostatných bitov portu je ignorovaný, pretože sú nastavené ako vstupy

Príklad - Zápis vzorky '0110' do dolných bitov Port1 Predpokladáme, že piny 3,2,1,0 sú konfigurované ako Strong Drive a ostatné piny portu sú konfigurované ako vstupy Analog Hi-Z

mov reg[PRT1DR], %00000110