Path: utzoo!attcan!uunet!samsung!think!snorkelwacker!bloom-beacon!eru!luth!sunic!draken!d88-eli From: d88-eli@nada.kth.se (Erik Liljencrantz) Newsgroups: comp.sys.ibm.pc Subject: Hardware interrupts, IRQ7, and Burr-Brown PCI 20098C Message-ID: <2460@draken.nada.kth.se> Date: 3 Dec 89 13:43:38 GMT Reply-To: d88-eli@nada.kth.se (Erik Liljencrantz) Organization: Royal Institute of Technology, Stockholm, Sweden Lines: 34 The Burr-Brown PCI 20098 multifunction carrier is a general purpose A/D conversion board for the PC. It contains a programmable squarewave- generator that can generate an interrupt of selectable level (IRQ2-IRQ7). In order to use the squarewave as timerinterrupt I do this: 1. Set the frequency on the carrier (verified squarewave). 2. Select generation of IRQ7 on positive flanks. 3. Set interrupt vector 0F to point to my handler. The handler contains code to send EOI (MOV AL,20h/OUT 20h,AL) and reset the interrupt mask on the carrier. 4. Enable IRQ7 on port 21h by clearing bit 7. This procedure really works! But the troubles starts when I'm trying to change the frequency on the carrier board. It works sometimes (by disabling the squarewave and the interrupt and reprogramming), but sooner or later it doesn't work (not a lockup, just no interrupts). To be able to generate the interrupts again I have to turn the power off and on again (a reset isn't enough). Have I done the necessary interruptcontroller setup (Enable IRQ7 and the EOI signal in the handler)? Perhaps the problem is with the A/D carrier board, as the 8259 is completely reprogrammed during the BIOS POST. Is IRQ7 a good choice? I checked with Ralf Brown's excellent interrupt list, and it seems the INT 0F vector isn't used that frequently... Any and all advices and pointers appreciated. (I haven't included any sourcecode, but I hope the general idea of what I'm trying to do with the interrupt is obvious...) BTW: I'm using a Compaq 386/20e, but I will try it on a 286e now... -- Erik Liljencrantz | "No silly quotes!!" d88-eli@nada.kth.se | Embraquel D. Tuta