cancel
Showing results for 
Search instead for 
Did you mean: 

PSoC™ 4

Anonymous
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.

   

Configuration:
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?

   

Thanks,
Gary Beam

0 Likes
2 Replies
Bob_Marlowe
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.

   

 

   

Bob

0 Likes
Anonymous
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. 

   

Gary

0 Likes