[pso] [Tema2][Linux] RDAI again !

Razvan Alecsandrescu csrazvan at gmail.com
Fri Apr 20 12:20:54 EEST 2007


Am si eu o nelamurire.

Imi pornesc intreruperile pt fiecare COM asa:
outb(0x07, base+COM_FIFO); // dimensiunea FIFO =1
outb(0x01, base+COM_IER);   //intr RDAI
outb(0x0B,base+COM_MCR); //


in write activezi threi-ul si il dezactivez dupa ce am terminat de
scris in handlerul de threi.

Eu folosesc un mic programel de test care trimite doar 5 bytes pe com1
si ii asteapta pe com2.
Inainte de a incepe transmisia face si toate setarile pt baud rate & stuff.
Problema e ca desi FIFO-ul este de 1 byte nu mi se genereaza RDAI-uri
decat dupa ce toate cele 5 caractere au fost scrise in handlerul pt
THREI.
Mai ciudat este ca uneori nu mi se mai genereaza deloc RDAI si imi
apare o intrerupere de timeout( codul 12 in IIR) si programul se
blocheaza.

S-a lovit cineva de asta sau are cineva vreo idee din ce cauza se intampla?

Multumesc anticipat,
Razvan Alecsandrescu


More information about the pso mailing list