Announcements
IMPORTANT: Cypress Developer Community is transitioning on October 20th. To learn more and be prepared for this change, check out our latest announcement.
cancel
Showing results for 
Search instead for 
Did you mean: 

PSoC 5, 3 & 1 MCU

Anonymous
Not applicable

I need to capture a bitstream into a buffer, and I was happy to find a shift register component that should have made this a 1-hour task. 24 hours later I'm still scratching my head. The interrupt output does not seem to work. and the DMA Wizard does not recognize the shift register component as a source.

   

The attached project illustrates the problems. Am I missing something, or are these a bugs?

0 Likes
1 Solution
Bob_Marlowe
Expert II

Two notes: Set the isr1 and 2 to "Rising Edge", "derived" is used for FF blocks.

   

You should issue a isr_ClearPending() in the interrupt handler (in case it gets stuck)

   

 

   

The issue with the wizard is known, will probably corrected soon.

   

 

   

Bob

View solution in original post

0 Likes
4 Replies
Bob_Marlowe
Expert II

Two notes: Set the isr1 and 2 to "Rising Edge", "derived" is used for FF blocks.

   

You should issue a isr_ClearPending() in the interrupt handler (in case it gets stuck)

   

 

   

The issue with the wizard is known, will probably corrected soon.

   

 

   

Bob

View solution in original post

0 Likes
Anonymous
Not applicable

Thanks for the tips. They may have helped, but I was still not getting interrupts on isr_2. I found the solution was to call

   

ShiftReg_1_GetIntStatus(); // for the side effect of clearing the register

   

 in the isr_2 service routine. That's too bad because I wasn't planning on using an ISR at all. I guess I can just trigger the DMA from the store signal where it's connected in the .zip above.

0 Likes
Bob_Marlowe
Expert II

For your purpose (except sw-counting) an interrupt is not required. Fine that you got it to work!

   

A tip for the next interrupt: You may use CY_ISR_PROTO() and CY_ISR() as described in the "System Reference Guide" accessable from Help menu in Creator. When using isr_StartEx()  you can keep the interrupt handlers in your own files (ie. main.c) and you do not need to tweak in some generated files which may get overwritten accidentially.

   

 

   

Bob

0 Likes
ETRO_SSN583
Esteemed Contributor

This ap note discusses that and derived vs level triggered settings for ISR component. www.cypress.com/

   

Also the f() calls above described in detail in component datasheet.

   

 

   

Regards, Dana.

0 Likes