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

Autor: Andrzej Popowski (popej_at_priv1.onet.pl)
Data: Wed 20 Dec 2000 - 21:49:54 MET


Wed, 20 Dec 2000 11:20:22 +0100, MariuszC <mcukr_at_poczta.onet.pl>
piszesz:

>czy udalo sie komus obsluzyc 2 porty szeregowe (np COM1 i COM3) ktore
>wywoluja
>jedno przerwanie (standardowo IRQ4) w DOSie.

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.

Wspolczesnie porty COM znajduja sie w jednym specjalizowanym scalaku
lub nawet wprost w chipsecie plyty glownej. Scalak wewnatrz nie musi
odtwarzac polaczen charakterystycznych dla ISA i moze zrobic iloczyn
logiczny sygnalu przerwan. Moze, ale nie musi, bo standard tego nie
przewidywal. Czyli to, czy uda sie uzyskac przerwania od obu COM-ow
zalezy od tego, jaki masz scalak w danym komputerze. Jezeli scalak
zadziala, to program mozna napisac stosunkowo latwo.

Oczywiscie mozesz rozniez obslugiwac COM-y bez przerwan, np.
podlaczajac sie do przerwania zegarowego. Przy dzisiejszych
komputerach i RS z FIFO nie powinienes miec z tym wiekszego problemu.

Pozdrowienia,

Andrzej Popowski



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