[pso] Activare intreruperi seriala
Andrei Trandafir
andreitra1987 at yahoo.com
Sat Apr 3 22:01:23 EEST 2010
Se pare ca problema era de la bitul DLAB. L-am fortat pe 0 atunci cand scriu in Interrupt Enable Register, la inregistrarea handler-ului pentru interuperi si se pare ca acum modulul functioneaza.
--- On Sat, 4/3/10, Andrei Trandafir <andreitra1987 at yahoo.com> wrote:
> From: Andrei Trandafir <andreitra1987 at yahoo.com>
> Subject: [pso] Activare intreruperi seriala
> To: pso at cursuri.cs.pub.ro
> Date: Saturday, April 3, 2010, 9:46 AM
> Salut,
>
> Cum ar trebui procedat, mai exact, ca sa putem sa activam
> corect handler-ul de intrerupere pentru citirea datelor de
> pe seriala? Am folosit drept suport laboratorul 6, unde este
> indicat ce ar trebui sa contina registrii UART pentru
> configurarea corecta, insa pana in acest moment, handler-ul
> meu nu ajunge sa fie apelat (el fiind inregistrat cu
> IRQF_SHARED). Eu am procedat in felul urmator (Base - adresa
> de baza):
>
> * La inregistrarea intreruperii:
> - activez Auxiliary Output 2 (bitul 3) din Modem Control
> Register (Base + 4)
> - activez Received Data Available (bitul 1) in Interrupt
> Enable Register (Base + 1)
> - dezactivez FIFO (Base + 2)
>
> * Ulterior, la o comanda IOCTL:
> - activez bitul DLAB in LCR si apoi scriu viteza de
> transfer in DLL si DLM (in Base + 3, Base si Base + 1)
> - dezactivez LCR, apoi scriu in el lungimea, paritatea si
> bitii de stop (in Base + 3)
>
> Mai exista alta operatie care ar trebui efectuata?
>
> Multumesc.
>
>
>
>
>
> _______________________________________________
> pso mailing list
> pso at cursuri.cs.pub.ro
> http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/pso
>
More information about the pso
mailing list