[so2] [Tema2] Intrerupere TX

mihai.ciocan yahim91 at gmail.com
Mon Apr 7 11:26:46 EEST 2014


Dar e ok sa reactivez intreruperea in write? inseamna ca de fiecare data 
la write se face si transmiterea si daca se umple bufferul se va bloca. 
(probabil daca bufferul e prea mic)
On 04/07/2014 11:19 AM, mihai.ciocan wrote:
> 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