[so2] [Tema2] Intrerupere TX

mihai.ciocan yahim91 at gmail.com
Mon Apr 7 11:19:38 EEST 2014


Am rezolvat :)
Avea acelasi comportament daca setam byte-ul respectiv (cu 0x03) in 
handlerul de intrerupere. Apoi am modificat si am resetat numai bitul 
respectiv si primeam numai tx-uri. Am mutat reactivarea in write (daca 
am date in buffer) si a mers perfect (au trecut toate testele).

On 04/07/2014 11:00 AM, mihai.ciocan wrote:
> Am reactivat-o cand primesc intrerupere de tip tx (setat la 0 si apoi 
> la 1) insa are tot acelasi comportament.
>
> On 04/07/2014 10:37 AM, Razvan Deaconescu wrote:
>> "mihai.ciocan" <yahim91 at gmail.com> writes:
>>> Salut,
>>>
>>> Intreruperea TX apare o singura data la inserarea modulului dupa care
>>> nu mai apare deloc, chiar si dupa citirea byte-ului IIR. Mentionez ca
>>> am setat registrul IER bitii 0 si 1 (RDAI si THREI) si MCR bitul 3
>>> (aux output 2) in module init.  Ce gresesc?
>> Reactiveaz-o. Scrie 0 și apoi 1 în bitul aferent THREI din buffer. Dacă
>> ar fi activă constant ar veni mereu că e bufferul gol, chiar dacă nu ai
>> date de transmis. Pentru a preveni acest lucru, întreruperea este
>> edge-triggered[1]* și treubie să o reactivezi tu.
>>
>> [1] http://en.wikipedia.org/wiki/Interrupt#Edge-triggered
>> * S-ar putea să spun prostii, corectați-mă dacă greșesc.
>>
>> Răzvan
>> _______________________________________________
>> http://ocw.cs.pub.ro/courses/so2/resurse/lista-discutii
>



More information about the so2 mailing list