CY7C65215-UART RTS/CTS flow control

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
JeffW
Level 1
Level 1
First solution authored 5 sign-ins First reply posted

Hi, Infineon:

Our board has a CY7C65215-32LTXI connected to BCM47768 through UART (GPIO pins 3,4,5,8)

The board is connected to a Linux host through USB as

Linux host <--(USB)--> CY7C65215-32LTXI<-- (4 pin UART)--> BCM47768.

We need to use UART RTS/CTS HW flow control. 
Shall we use cdc_acm driver or libcyusbserial UART APIs?

To use libcyusbserial UART APIs, we need config CY7C65215 SCB0 

as Mode: UART, Protocol:Vendor, right?

Thank you

Jeffrey Wang

 

0 Likes
1 Solution
MallikaK_22
Moderator
Moderator
Moderator
50 likes received 750 replies posted 250 solutions authored

Hi,

Apologies for the delay in the response.

Please check cyuart.c in the Linux SDK present inside the Linux folder in the USB Serial SDK: CyUSBSerial_SDK_Linux.zip\CyUSBSerial_SDK_Linux\CyUSBSerial_SDK_Linux\linux\library 

Regards,

Mallika

View solution in original post

0 Likes
3 Replies
Meghavi
Moderator
Moderator
Moderator
250 replies posted 100 solutions authored 10 likes received
0 Likes
JeffW
Level 1
Level 1
First solution authored 5 sign-ins First reply posted

Hi, Meghavi:

I'm using libusbserial in Linux now. There is an issue if I enable HW flow control 

as CyUartSetHwFlowControl(uart_handle, CY_UART_FLOW_CONTROL_RTS_CTS);

CyUartRead() will return CY_ERROR_IO_TIMEOUT.

Without enabling HW flow control, CyUartRead() works. But I need HW flow control to communicate to my MCU.

From the data sheet, data flow control is enabled by default and RTS# signal is de-asserted when receive bufer reach 93% watermark, do I need call CyUartSetHwFlowControl() and CyUartSetRts() and CyUartClearRts()?
By default, CyUartGetHwFlowControl() returns CY_UART_FLOW_CONTROL_DISABLE, this seems contradict with the data sheet.
Do you have UART sample code with RTS/CTS?
There is uart.cpp sample in your SDK, it shows how to call these APIs, but not a working sample show how RTS/CTS is working.

JeffW_0-1655745708118.png

 

0 Likes
MallikaK_22
Moderator
Moderator
Moderator
50 likes received 750 replies posted 250 solutions authored

Hi,

Apologies for the delay in the response.

Please check cyuart.c in the Linux SDK present inside the Linux folder in the USB Serial SDK: CyUSBSerial_SDK_Linux.zip\CyUSBSerial_SDK_Linux\CyUSBSerial_SDK_Linux\linux\library 

Regards,

Mallika

0 Likes