Mail Archives: djgpp/1998/09/10/05:02:20
From: | Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
|
Newsgroups: | comp.os.msdos.djgpp
|
Subject: | Re: More Q's about IRQs
|
Date: | Thu, 10 Sep 1998 11:10:31 +0300
|
Organization: | NetVision LTD.
|
Lines: | 22
|
Message-ID: | <Pine.SUN.3.91.980910110155.8510C-100000@is>
|
NNTP-Posting-Host: | is.elta.co.il
|
Mime-Version: | 1.0
|
In-Reply-To: | <35F703E7.AE7F8896@res.raytheon.com>
|
To: | djgpp AT delorie DOT com
|
DJ-Gateway: | from newsgroup comp.os.msdos.djgpp
|
On Wed, 9 Sep 1998 default AT DOT MISSING-HOST-NAME. wrote:
> Note that my handler simply increments a global count variable for now,
> reads the port to clear data, and issues an EOI (since it is not
> specified whether or not the _go32 wrappers handle that sort of thing in
> my documentation)
Of course the wrappers don't issue EOI! How can they? For starters, the
wrapper doesn't know which IRQ are you hooking, and the EOI code differs
depending on whether you use IRQ0-IRQ7 or IRQ8-IRQ15. Also, the
programmer could decide not to EOI the PIC from the handler, but from
some other point in the program, and the wrapper has no buisness
second-guessing that.
> When I write data to the port in order to get it to generate an int,
> nothing happens.
> _However_, when I read the port directly from my main program, the
> interrupts suddenly start working
Interrupt-driven transmitting is tricky. Please post the code that
initializes the UART, the key to this mystery might be there.
- Raw text -