From: Eli Zaretskii 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: NNTP-Posting-Host: is.elta.co.il Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII In-Reply-To: <35F703E7.AE7F8896@res.raytheon.com> To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Precedence: bulk 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.