LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

two interrupt vi's running in parallel

on my fpga vi, i have two while loops running in parallel. one while loop generates an interrupt with IRQ=0 to the host every 10sec. the other while loop generates an interrupt with IRQ=1 to the host every 5sec. on the host side, two seperate subvi's running in parallel are waiting for interrupts from one of the two IRQ lines. somehow it seems like that everything works fine if i disable one of the two IRQ interrupts, but when both are enabled, neither one can be picked up by the host consistently.

what will be a general optimal strategy to deal with this issue? i would like to avoid polling if possible.
0 Kudos
Message 1 of 4
(3,333 Views)
You can only use one Wait for IRQ function in your host VI. In this one loop you should retrieve the number of the IRQ that was generated and process it accordingly.

Christian L
authored by
Christian L, CLA
Systems Engineering Manager - Automotive and Transportation
NI - Austin, TX


  
Message 2 of 4
(3,333 Views)
Hello,

There is only one interrupt line on the FPGA device, so the host should really wait on IRQ and acknowledge in only one place. Just as Christian mentioned, handle the interrupts in the same VI on the host and that should fix the problem.

Regards,
Vineet A.
Applications Engineer
National Instruments
Message 3 of 4
(3,333 Views)
thanks Christian and Vineet! that makes sense. everything is fine now.
0 Kudos
Message 4 of 4
(3,333 Views)