Mail Archives: djgpp/2003/02/05/02:00:12
From: | "John Henderson" <jhenRemoveThis AT bigpond DOT com>
|
Newsgroups: | comp.os.msdos.djgpp
|
Subject: | Determining interrupt vector for serial port
|
Date: | Wed, 5 Feb 2003 17:45:21 +1100
|
Organization: | no affiliation
|
Lines: | 28
|
Message-ID: | <b1qcar$16070j$1@ID-83062.news.dfncis.de>
|
NNTP-Posting-Host: | 144.139.221.85
|
X-Trace: | fu-berlin.de 1044427932 39853075 144.139.221.85 (16 [83062])
|
X-Priority: | 3
|
X-MSMail-Priority: | Normal
|
X-Newsreader: | Microsoft Outlook Express 6.00.2800.1106
|
X-MimeOLE: | Produced By Microsoft MimeOLE V6.00.2800.1106
|
To: | djgpp AT delorie DOT com
|
DJ-Gateway: | from newsgroup comp.os.msdos.djgpp
|
Reply-To: | djgpp AT delorie DOT com
|
As a retired programmer, I'm still an absolute novice where PC
internal architecture is concerned. But I'm learning and I'm
stuck.
I'm using DJGPP and writing a program which involves servicing
serial ports. I've developed a working ISR that compiles with
gcc, and I'm satisfied it runs correctly.
I'm also aware that I can read COM1's address with the C command:
addr = _farpeekw(_dos_ds, 0x400);
(and using 0x402 to 0x406 instead for COMs 2 to 4).
But I've been unable to discover how to "read" the associated IRQ
value for each port. So far I've found them hardcoded as 4, 3,
4, 3 respectively in all examples. But I've got to look no
further than my own PC to find COM3 using IRQ5 (on an ISA card).
How does a program discover this?
In the interests of robust software, is someone able to help me
move forwards here?
TIA
John
- Raw text -