- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello.
I use the Flow control with a USBUART.
The option is changed, but the USB data of a PSoC5LP doesn't change.
Do you know the method to receive the control data?
Thanks and Best regards.
Glenn.
Solved! Go to Solution.
- Tags:
- flow control
- uart
- usb
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Reading in the comments of the GetLineControl() function.
* *Note* Some terminal emulation programs do not properly handle these
* control signals. They update information about DTR and RTS state only
* when the RTS signal changes the state.
Can you try other tools to see if anything changes?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
There is no flow control implemented in the USBUART component. It would only make sense to use this if you are bridging from USB to a physical UART port. In this case, you might change the flow control of the UART component.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello.
I am using follow firmware.
I wish to receive the flow control data and to set the flow control of the UART components.
Thanks and Best regards.
Glenn.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
In this case, you can use the function USB_IsLineChanged() to know when the control settings change and apply it to the UART components.
You will need to enable the Hardware Flow Control in the UART components by default. You can use the following technique to enable/disable hardware control.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I tried to read the state by USB_GetLineControl();
==========================================
state = USB_IsLineChanged(); /* Check for Line settings changed */
if(state != 0u)
{
if(state & USB_LINE_CODING_CHANGED) /* Show new settings */
{
}
if(state & USB_LINE_CONTROL_CHANGED) /* Show new settings */
{
/*
#define USB_bmRequestTypeReg USB_EP0_DR_BASE.epData[0u]
#define USB_bRequestReg USB_EP0_DR_BASE.epData[1u]
#define USB_wValueLoReg USB_EP0_DR_BASE.epData[2u]
#define USB_wValueHiReg USB_EP0_DR_BASE.epData[3u]
#define USB_wIndexLoReg USB_EP0_DR_BASE.epData[4u]
#define USB_wIndexHiReg USB_EP0_DR_BASE.epData[5u]
#define USB_wLengthLoReg USB_EP0_DR_BASE.epData[6u]
#define USB_wLengthHiReg USB_EP0_DR_BASE.epData[7u]
*/
test.epData[0] = USB_bmRequestTypeReg;
test.epData[1] = USB_bRequestReg;
test.epData[2] = USB_wValueLoReg;
test.epData[3] = USB_wValueHiReg;
test.epData[4] = USB_wIndexLoReg;
test.epData[5] = USB_wIndexHiReg;
test.epData[6] = USB_wLengthLoReg;
test.epData[7] = USB_wLengthHiReg;
state = USB_GetLineControl();
}
}
=========================================
But, the value isn't change from 0x03.
Thanks and Best regards.
Glenn.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Which value is not changing from 0x03?
If you run in debug mode, it never executes the DispatchCDCClassRqst()?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The return value of USB_GetLineControl().
I tested the value in debug mode.
I will test it in non-debug mode.
Thanks and Best regards.
Glenn.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Reading in the comments of the GetLineControl() function.
* *Note* Some terminal emulation programs do not properly handle these
* control signals. They update information about DTR and RTS state only
* when the RTS signal changes the state.
Can you try other tools to see if anything changes?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I tested it by teraterm and putty.
Are there compatible terminal program?
Glenn.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello.
I tested it other terminal program.
The program works well.
I thinks that the problem is a matter of compatibility.
Thanks.
Glenn.