Showing results for 
Search instead for 
Did you mean: 

PSoC™ 4

Not applicable

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

2 Replies
Expert II

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.





Not applicable

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.