[pso] tema 2 -linux-intreruperi

Alexandru Gartner pso@cursuri.cs.pub.ro
Sun, 3 Apr 2005 16:04:50 +0200 (MEST)


Undeva in tema fac o mare greseala dar nu-mi dau seama unde.
Am inregistrat o intrerupere (la inceput doar pt IRQ 4...vroiam doar sa 
vad ca este apelata ). Intreruperea este alocata, apare si in
/proc/interrupts (mentionez ca alocarea IRQ-ului o fac la initializarea
modulului). 
Am pus in IER bitii 0,1,2 (0x07) am citit IIR (pentru ca sa nu fie din
intamplare vreun Interrupt Pending) si am verificat ca DLAB sa nu fie 1 in
LCR.
Apoi am pus un caracter la 0x3F8 si asteptam sa apara intreruperea
"Transmitter Holding Register Empty" si sa se ruleze handler-ul de
intrerupere.
Caracterul este transmis (am verificat conectand Com1 de la masina virtuala
catre un fisier.txt pe masina reala ) iar la verificarea in IIR imi apare ca
IIR este 2 ceea ce (daca nu gresesc) inseamna Interrupt Pending si
Transmitter Holding Register  Empty Interrupt.

Dar cu toate acestea rutina mea de tratare a intreruperii NU se apeleaza 
 dupa cum se poate observa si din /proc/interrupts !!!
(Am incercat atat cu SA_SHIRQ cat si fara. Vroiam doar sa vad ca
functioneaza intreruperile ;-) )


Si inca o intrebare: Trebuie sa folosim FIFO-ul din UART16550A?

    Multumesc.


-- 
Handyrechnung zu hoch? Tipp: SMS und MMS mit GMX
Seien Sie so frei: Alle Infos unter http://www.gmx.net/de/go/freesms