Re: 2 UARTy na jednym IRQ - czy da sie to zrobic w DOSie

Autor: Krzysztof Rudnik (rudnik_at_kki.net.pl)
Data: Thu 21 Dec 2000 - 18:33:30 MET


>
>
> Grzegorz Malicki wrote:
>
> > Użytkownik "Andrzej Popowski" <popej_at_friko.onet.pl>
> > > To niestety jest zalezne od sprzetu. Pierwotnie COM byl urzadzeniem na
> > > szynie ISA i wystawial przerwanie w postaci jedynki TTL. Oczywiscie
> > > dwa COM-y na jednym przerwaniu nie mogly pracowac, bo nastepuje
> > > zwarcie wyjsc - ISA nie przewiduje wspoldzielenia przerwan.
> > Oj ... chyba to nie jest do konca prawda ...

>
> Moze by cos wiecej w tej kwestii...
> Masz jakies doswiadczenia, spostrzezenia...
>
> Mariusz
>

ISA nie przewiduje wspoldzielenia przerwan bo kontroler jest ustawiany
na zglaszanie przerwan zboczem (tak jest latwiej obslugiwac zegarek)
W tym momencie jesli jedno urzadzenie zglosi przerwanie jak juz jest
zglaszane to system nie ma o tym informacji. Gdy przerwania zglaszane
sa poziomem (zwykle L) w takiej sytuacji jest wyjscie - program
obsluzy pierwsze przerwanie zgasi je i odblokuje a poniewaz sygnal
zgloszenia dalej wisi przerwanie zostanie zgloszone ponownie i tym
razem szanse na program obslugi tego drugiego RS.
Jesli zalozymy ze oba RS obsluguje jeden program - moze on byc
swiadomy tego faktu i zawsze (na kazde przerwanie) sprawdzac statusy
obu RS i potwierdzac przerwanie dopiero jak jest pewien ze nic nie
zostalo nieobsluzone. Mozna oczywiscie sie wspomoc przerwaniem
zegarkowym, bo zawsze jest jakas szansa ze przerwanie zglosi sie
akurat po sprawdzeniu.

-- 
Krzysztof Rudnik


To archiwum zostało wygenerowane przez hypermail 2.1.7 : Tue 18 May 2004 - 21:04:13 MET DST