2 Replies Latest reply on Dec 17, 2015 4:30 PM by userc_40620

    PSoC 4200M SCB 3.0 UART problem

      I'm having a problem receiving 8-bit byte data using a SCB 3.0 configured as a UART. I can transmit full 8-bit byte data without issue (0x00 - 0xFF). When receiving any byte greater than 0x7F, 0x3F is returned.


      I'm not sure if the problem is a hardware issue, or a problem with the code that maintains RX FIFO and the RX software buffer. I have not modified any of the SCB code that is generated by Creator 3.3


      I have verified that the incorrect value is being saved to the RX software buffer. SCB_UartGetByte(), SCB_UartGetChar(), and SCB_SpiUartReadRxData all return the same incorrect value.


      CY8CKIT-043 PSoC 4200M
      SCB 3.0 - UART
      Mode:      Standard
      Direction: TX + RX
      Baud rate: 115200
      Data Bits: 8 bits
      Parity:    None
      Stop Bits: 1
      Oversampling: 16


      RX Buffer size: 64
      TX Buffer size: 64
      Interrupt: Internal


      I'm new to PSoC and Creator, but I have worked with serial ports in embedded systems for years and haven't come across a problem like this before. Has anybody in the PSoC community seen this problem or have any suggestions?


      Gary Beam

        • 1. Re: PSoC 4200M SCB 3.0 UART problem

          Easiest check you can make would be to shortcut Tx and Rx lines to see if it is a PSoC SCB UART problem. Can you post your complete project, so that we all can have a look at all of your settings? To do so, use
          Creator->File->Create Workspace Bundle (minimal)
          and attach the resulting file.





          • 2. Re: PSoC 4200M SCB 3.0 UART problem

            Thanks for the suggestion Bob. I hooked up a loopback and verified that the PSoC 4 SCB UART, and all code is working properly! I'm going to dig out a logic analyzer and verify that the KitProg USB to TTL Serial is working properly, and also verify that an app i'm  running on a PC is properly transmitting 8-bit data. I know the app is properly receiving data from the PSoC, but i'm not 100% sure it's transmitting properly.