Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

PSoC™ 5, 3 & 1

Anonymous
Not applicable

 Hi,

   

 

   

I have some hardware processes the raises some interrupts. The software part must wait for all interrupts completed.  But I have no knowledge about the numer of events.

   

 

   

Is there a way to check for still pending interrupts. I only found functions to clear the queue.

   

 

   

Bye

   

Franz

0 Likes
4 Replies
ETRO_SSN583
Level 9
5 likes given 1000 replies posted 750 replies posted
Level 9

Thru these register reads -

   

 

   

   

 

   

Regards, Dana.

0 Likes
Bob_Marlowe
Level 10
50 questions asked 10 questions asked 1000 solutions authored
Level 10

Have a look into the  PSoC3 TRM to be found here    

   

There are some explanations regarding the interrupt ctrlr

   

 

   

Bob

0 Likes
HeLi_263931
Level 8
100 likes received 50 likes received 25 likes received
Level 8

You also should disable the affected interrupts (or maybe all interrupts) before you check for pending ones. Otherwise an interrupt can be triggered the exact moment you detected out that none are active - and then you are screwed 🙂

0 Likes
JaLe_2074191
Level 3
First like received
Level 3

You can read the "set pending" register (API in the isr_x.h file) for isr_2 the code is:

if (*isr_2_INTC_SET_PD & (uint32)isr_2__INTC_MASK) ... You can use the same method to check all the interrupt registers