You are here

Changing UART pins? | Cypress Semiconductor

Changing UART pins?

Summary: 2 Replies, Latest post by Paul Claessen on 11 Dec 2015 12:45 PM PST
Verified Answers: 0
Last post
Log in to post new comments.
Paul Claessen's picture
24 posts

Looking at all the sample code (and using the SuperSpeed Kit board):

When CyU3PDebugInit() selects the UART as output socket, all the CyU3PDebugPrint() output goes to pin C2 (UART-TX_SPI-MISO).
Is there a way to change that (through the API) into making it go to pin E5 (D!30 / GPIO 48)?


mady's picture
Cypress Employee
963 posts


The GPIO 48 will be used as UART_TX when SPI interface is enabled in the code. (Though you are not going to use it anyway)

Please set useSpi = CyTrue; in CyU3PDeviceConfigureIOMatrix to enable SPI and that should help.


- Madhu Sudhan

Paul Claessen's picture
24 posts


Thanks for the information.
Turned out, just setting useSpi = CyTrue was not enough. In fact, when I did that, the FX3 would never come up after programming my firmware to RAM, or at least, it wouldn't enumerate. (I wonder why!)
When I also changed lppMode from UART_ONLY to DEFAULT, my firmware WOULD enumerate and now my UART output indeed goes to the 48 pin!

Then, just to check, with lppMode set to DEFAULT, I again changed useSpi back to CyFalse ... and I STILL got my UART output on pin 48, so apparently, it's the lpp mode, that determines the pin routing!

So far so good, but here's the question:

Is there any documentation of what these magic settings of the IoMatrix actually do, specifically with regards to routing pins.
I checked the API guide, the tech ref, the datasheet .. and I can't find any of this information!

Kind regards,

~ Paul


Log in to post new comments.