2 Replies Latest reply on Oct 7, 2011 6:10 PM by b.k

    UART_Rx example doesn't reach ISR on PSoC5

    john.kubel

      I've compiled the UART_Rx.cywrk example in the CY8CKIT-001 development kit and have been unable to get it working while sending characters over RS232 using 'HyperTerminal'.  I've confirmed the UART generates a RX interrupt upon receiving a character (by bringing the signal out to a I/O pin) but the ISR routine never gets called.  Is this a known problem?  Any ideas what might be causing the problem??  Thanks.

        • 1. Re: UART_Rx example doesn't reach ISR on PSoC5
          gautam.das.g

          Hi Johnk,

             

           

             

          Please ensure that the following measures are taken while communicating using RS232:

             

          1) When Hyperterminal is used, the correct Com Port is chosen.

             

          2) Jumper J10 on the Developement Kit is closed in order to power the RS232.

             

          3) Since you are able to observe the pulse on interrupt, the interrupts should be enabled using 'CYGlobalIntEnable'.

             

          4) In the configuration box of UART Component, the Interrupt 'RX- On Byte  Received' should be checked.

             

          5) In the ISR, the UART status register must be read to clear the interrupt so that the next received bytes can also trigger the interrupt.

             

           

             

          Let us know if this helps.

             

           

             

          Regards,

             

          dasg

          • 2. Re: UART_Rx example doesn't reach ISR on PSoC5
            b.k

            Calling "CYGlobalIntEnable" did it for me. Didn't see that in the docs anywhere.

               

            Here is an example of my init function:

               

             

               

             

               

            void InitIsrRoutine(void)

               

            {

               

                     isr_UART_RX_Start();

               

            CYGlobalIntEnable; //macro

               

            }