>From what I have found recently, those lines of code don't do anything. I
tried to work with the PIC directly and found that the version of RTL (V09J)
I was using disables interrupts when you enter an ISR and handles all of the
clearing. Everything I tried did nothing. You used to have to do that
stuff in DOS.
Now, if you need more control over the PIC I think newer versions of RTL
have some new routines to do more with the PIC.
I hope that helps
Janet Estabridis
Electrical Engineer
NAWC Code 473E00D
Building 31440 Room 1017
China Lake, CA 93555
[EMAIL PROTECTED]
(760) 939-2896 FAX (760) 939 -3075
> -----Original Message-----
> From: eric keller [SMTP:[EMAIL PROTECTED]]
> Sent: Monday, June 26, 2000 5:53 AM
> To: Michael Barabanov
> Cc: [EMAIL PROTECTED]
> Subject: Re: [rtl] More interrupt confusion
>
> Michael Barabanov wrote:
>
> >
> > For RT-interrupts, the low-level irq handling code works as follows
> >
> > handler:
> > mask_interrupt_line
> > ack_irq_controller
> > call RT-handler
> > return_from_interrupt
> >
> > So if it's needed to receive further interrupts from the device,
> > one has to explicitely re-enable the interrupt line in the handler.
> >
> > Michael.
>
> That's the way i understand it. What i didn't quite understand is
> this
> code where he installs the interrupt handler
>
> rtl_no_interrupts(f);
>
> status = rtl_request_irq(7, intr_handler);
> /* enbable parallel port interrupt */
> outb_p(inb_p(0x37A) | 0x10, 0x37A);
>
> outb_p(inb_p(0x21) & (~0x80), 0x21); //confusing
> outb_p(0x20, 0x20); //confusing
>
> rtl_hard_enable_irq(7);
>
> rtl_restore_interrupts(f);
>
> I added comments where i am confused. He directly
> manipulates the irq controller in those lines. My understanding of
> rtl is
> that you don't have to do that, so i took those two lines out, but it
> didn't
> work always. Then i took out the lines where he says rtl_no_interrupt
> and
> rtl_restore_interrupt and then it works again.
> Now my code looks like this:
>
> status = rtl_request_irq(7, intr_handler);
> /* enable parallel port interrupt */
> outb_p(inb_p(0x37A) | 0x10, 0x37A);
> rtl_hard_enable_irq(7);
>
> This should install the interrupt 7 handler and enable interrupt 7,
> right?
> thanks,
> eric
>
>
>
>
>
> -- [rtl] ---
> To unsubscribe:
> echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
> echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
> ---
> For more information on Real-Time Linux see:
> http://www.rtlinux.org/rtlinux/
-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
---
For more information on Real-Time Linux see:
http://www.rtlinux.org/rtlinux/