[pso] Activare intreruperi seriala

Andrei Voinescu voinescu.andrei at gmail.com
Sat Apr 3 22:01:17 EEST 2010


2010/4/3 Andrei Trandafir <andreitra1987 at yahoo.com>
>
> 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)

Received Data Available este bitul 0 din IER.

> - 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)
>
Basically e ok, în laboratorul de Windows ai un macro cu SET_LINE.

> Mai exista alta operatie care ar trebui efectuata?
>
> Multumesc.
>
>

Andrei
>
>
>
> _______________________________________________
> 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