K64 usb cdc virtual com issue with certain terminal programs

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

K64 usb cdc virtual com issue with certain terminal programs

跳至解决方案
1,212 次查看
inorman
Contributor III

Hi, I was wondering if anyone's come across an odd issue where the usb com port works fine only with certain terminal programs? Applications teraterm, and hyperterminal are fine, but Termite and user applications using the .net environment aren't?

 

From my observations they must open the port in a different way as my application in the k64 detects whether a usb connection has been made by USB_Check_Start_Transactions(), once it has i send a welcome message.  Termite  etc.. never trigger this function.

 

Any ideas why this might be?

 

Kind regards

Ian

标签 (1)
1 解答
1,014 次查看
inorman
Contributor III

In the end this turned out to be a flow control issue. Some applications must turn this on without being set.

This forum post from 6 years ago pointed me in the right direction.  https://community.nxp.com/message/72826#comment-72826

Basically keep  start_transactions = TRUE;  and comment out

case USB_APP_CDC_DTE_ACTIVATED:

            if(start_app == TRUE)

            {

                start_transactions = TRUE;

            }

        break;

        case USB_APP_CDC_DTE_DEACTIVATED:

            if(start_app == TRUE)

            {

                start_transactions = FALSE;

            }

        break;

from the function USB_App_Class_Callback in virtual_com.c

在原帖中查看解决方案

1 回复
1,015 次查看
inorman
Contributor III

In the end this turned out to be a flow control issue. Some applications must turn this on without being set.

This forum post from 6 years ago pointed me in the right direction.  https://community.nxp.com/message/72826#comment-72826

Basically keep  start_transactions = TRUE;  and comment out

case USB_APP_CDC_DTE_ACTIVATED:

            if(start_app == TRUE)

            {

                start_transactions = TRUE;

            }

        break;

        case USB_APP_CDC_DTE_DEACTIVATED:

            if(start_app == TRUE)

            {

                start_transactions = FALSE;

            }

        break;

from the function USB_App_Class_Callback in virtual_com.c