4 Replies Latest reply on Dec 5, 2014 2:18 PM by user_14586677

    Shift Register Component Quirks

    user_350154570

      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?

        • 1. Re: Shift Register Component Quirks
          bob.marlowe

          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

          • 2. Re: Shift Register Component Quirks
            user_350154570

            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.

            • 3. Re: Shift Register Component Quirks
              bob.marlowe

              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

              • 4. Re: Shift Register Component Quirks
                user_14586677

                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.