Paul,
Thanks. I'm not sure a thread will work because the RS485 serial interface
is receiving its' own data, which means that an IRQ4 will happen when it is
sending its' own 6 bytes of data.
QUESTION FOR ANYONE WHO KNOWS FOR SURE --- Does RTL version 0.9J support
pre-emption of an ISR ??? Or did it get overlooked ??
If I can pre-empted the lower priority ISR just like with the periodic tasks
I am set !!! If I can't then I am in BIG TROUBLE. Right now, I have tried
everything I can think of. I was hoping I could get a DEFINITE, it is easy,
I have done it, here is what you do response.
If RTL version 0.9J does not support ISR pre-emption what version(s) do ???
Thanks ---
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: Paul Koning [SMTP:[EMAIL PROTECTED]]
> Sent: Wednesday, May 24, 2000 12:06 PM
> To: [EMAIL PROTECTED]
> Cc: [EMAIL PROTECTED]
> Subject: Re: [rtl] FW: HELP --- IRQ Preemption
>
> >>...
> >> The highest priority ISR (irq 3) NEEDS to run at a very fixed rate
> >> so that the ISR that grabs the data from the A/D converter FIFO
> >> does not overflow causing loss of data. This ISR gets called
> >> every 1.6 msec and it takes approx. 550 usec to pull the data
> >> off.
> >>
> >> The lower priority ISR (irq 4) is an RS485 serial interface that
> >> is used at a lower rate (every 30 Hz, 33.33 msec). However, when
> >> it is time for this ISR to send it's 6 bytes of info it takes
> >> approx. 600 usec to do so.
> >>
> >> What I expected to see on the o-scope because of the priorities of
> >> the IRQ's is that the lower priority ISR would be preempted when
> >> the higher priority ISR needed service. BUT this DOES NOT happen
> >> and I lose data !!!
>
> Warning, novice at the keyboard... :-)
>
> Are interrupts disabled while in the ISR? I would suspect they might
> be. If so, the fact that there are other higher priority interrupts
> pending doesn't get noticed. (Unlike the PDP11 which had several
> levels of interrupt disabling...)
>
> Could you make the serial interface service be an RT thread that is
> normally stopped? Then the IRQ4 ISR only starts that thread and
> exits. The thread would be interruptible. (One hopes that it doesn't
> get interrupted by another IRQ4 interrupt -- you could test for that
> to verify this.)
>
> paul
>
> -- [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/