[pso] [Tema 2] [Win] - Setari initiale + instalare intrerupere
Irina Tirdea
ynuka13 at gmail.com
Sat Apr 5 14:05:45 EEST 2008
> 1) adica daca vine o intrerupere si eu nu citesc registrul ala nu le mai
activeaza dupaia ?
Da. Bitii din IIR se reseteaza la anumite operatii (fiind registru
read-only). Bitul 0 (Interrupt Pending) se reseteaza cand citesti IIR. Cat
timp ai o intrerupere pending, nu ti se mai trimit alte intreruperi (adica
nu ti se mai apeleaza inca o data rutina de tratare a intreruperii). Gasesti
mai multe detalii despre cum se folosesc/reseteaza bitii din registre in
data sheet-ul pentru UART [1].
Oricum ar trebui sa citesti IIR in intrerupere, pentru a vedea ca
intreruperea pe care ai primit-o apartine device-ului tau. Pentru a vedea
exact daca ai primit date sau poti transmite e mai bine sa citesti LSR.
Asta se aplica la intreruperi in general. Intreruperea THREI are un statut
mai special, datorita faptului ca se genereaza imediat cum ai registrul gol
[2]
> 2) ce presupune exact activare "latched" ?
Activarea Latched/LevelSensitive se refera la intreruperi
edge-triggered/level-triggered. Adica o intrerupere de tip latched va fi
activata de o tranzitie de nivel 0-1 sau 1-0 pe linia de intrerupere, iar o
intrerupere LevelSensitive va fi activata de prezenta unui anumit nivel
(0/1) pe linia de intrerupere.[3]
[1] http://www.national.com/ds/PC/PC16550D.pdf
[2] http://cs.pub.ro/pipermail/pso/2007-June/001906.html
[3] http://en.wikipedia.org/wiki/Interrupt
More information about the pso
mailing list