ahoj chtěl jsem se zeptat jaký je rozdíl mezi LAT registrem , TRIS registrem a kdy mám požít to či to?
Přiznám se, že netuším, co je LAT registr, ale radši ho nepožívej.
Registr TRIS určuje zda budou vývody jako vstupní, anebo výstupní.
A pokud myslíš registr PCLATH, tak ten přepíná stránky paměti.
Takže LATA,B,… funguje tak, když máme Port přepnutý na výstupy a dáme na ně nějakou hodnotu, tak se to automaticky uloží i do LATA,… když přepneme Port na vstupy, tak snímáme hodnoty na vstupech, ale LAT,… se nemění, po přepnutí Portu na výstupy bude hodnota z LAT,… vystavena na Port.
Protože u starších součástek, když se toto provedlo, tak nebyla definována hodnota na Portu.
Fungujeto jen jako uložiště hodnoty Portu když je definován jako výstup.
LATA,… by se měl nulovat při inicializaci procesoru.
Hodně zdaru
XiXao má v podstatě pravdu. Výstupní registr implementovaný v PIC drží hodnotu odeslanou do registru PORT a v případě konfigurace registru TRIS pro output tuto hodnotu předává na výstup. Obecně se tento registr nazývá latch. Lze však do něj pouze zapisovat, čtení již probíhá přímo z pinů portu. Latch není tedy běžně pro čtení přístupný. Existuje však skupina součástek PIC 18Fxx, která má implementován registr latch i pro čtení a je umístěn v dostupném adresním prostoru. Bývá označen LATA, LATB…atp. Zápis např. do registru LATA je totéž, jako zápis do registru PORTA. Čtení LATA registru vrací zapsanou hodnotu, ovšem čtení PORTA vrací skutečný stav na vstupních pinech.
ok , díky za pomoc