IO boards usually have a status register that shows wether new data has
arrived. If all your boards are on the same interrupt line, your routine
should check every board for a status change and service each board that
has data (in case multiple boards generated interrupts). Then you
probably have to reset the status, although sometimes reading the data
takes care of that.
If the boards are on different interrupts, you can install the same
routine on all - they will not interfere since the interrupt service
routine (ISR) is uninterruptible. If your ISR is rather long, you should
consider writing a top and bottom half and you will need to maintain
seperate data for the bottom half for the different boards.
So in short: yes and status register.
Willem
[EMAIL PROTECTED] wrote:
>
> Hello all,
>
> the next question may be stupid, but I just couldnt figure out how to do it
> :)
>
> I have several digital IO cards of the same type, all with interrupts
> enabled, and I want to use one handling function for all cards, with
> multiple calls to rt_request_global_irq.
>
> My question is:
>
> 1. Can I use one funtion several times as interupt handler ?
> 2. How can I find out which interrupt triggered the handler function ?
>
> Thanks in advance,
>
> Marco Schwarz.
> -- [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/
--
~~
Willem J. Atsma - [EMAIL PROTECTED]
url: http://www.mech.ubc.ca/~watsma
~~
-- [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/