delorie.com/archives/browse.cgi   search  
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 -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019