This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Odd situation with USB Communication Device (CDC )- VCP

Hi all,

I’m having an odd situation with RL-USB with the following characteristics:

STM23F407ZG (board with proven hardware)
Communication Device (CDC) – Virtual COM Port
Full Speed

CDC Config (in usb_config_FS.c):
#define USBD_CDC_ENABLE 1
#define USBD_CDC_EP_INTIN 1
#define USBD_CDC_WMAXPACKETSIZE 64
#define USBD_CDC_BINTERVAL 2
#define USBD_CDC_HS_ENABLE 0
#define USBD_CDC_HS_WMAXPACKETSIZE 16
#define USBD_CDC_HS_BINTERVAL 2
#define USBD_CDC_EP_BULKIN 2
#define USBD_CDC_EP_BULKOUT 2
#define USBD_CDC_WMAXPACKETSIZE1 64
#define USBD_CDC_HS_ENABLE1 0
#define USBD_CDC_HS_WMAXPACKETSIZE1 64
#define USBD_CDC_HS_BINTERVAL1 0
#define USBD_CDC_CIF_STRDESC L"USB_CDC"
#define USBD_CDC_DIF_STRDESC L"USB_CDC1"
#define USBD_CDC_BUFSIZE 64
#define USBD_CDC_OUTBUFSIZE 128

VCP is configured and recognized in Windows, communication work fine, but after sending a few thousand bytes (the amount varies) RL-USB just stops sending data over the USB, MCU keeps working normally and bytes are still receive over the USB interface.

After some debugging I found that “usbd_cdc_ser_availchar” is still being called, but usbd_cdc_ser_read is no longer called.

In order to isolate the problem, I made a project with only RL-USB and a very simple loop for sending and receiving bytes, and the situations remains the same, after a few thousand bytes sent RL-USB just stops calling usbd_cdc_ser_read … any ideas of what I'm doing wrong ?

Best regards,
Paulo

Parents
  • Also, I am on a LPC2478 with this tool chain.

    Tool Version Numbers:
    Toolchain: MDK-ARM Professional Version: 4.60.0.0
    Toolchain Path: C:\Keil\ARM\ARMCC\bin\
    C Compiler: Armcc.Exe
    Assembler: Armasm.Exe V5.02.0.28
    Linker/Locator: ArmLink.Exe V5.02.0.28
    Librarian: ArmAr.Exe V5.02.0.28
    Hex Converter: FromElf.Exe V5.02.0.28
    CPU DLL: SARM.DLL V4.60.0.0
    Dialog DLL: DARMP.DLL V1.51
    Target DLL: ULP2ARM.DLL V2.18.0.0
    Dialog DLL: TARMP.DLL V1.51

Reply
  • Also, I am on a LPC2478 with this tool chain.

    Tool Version Numbers:
    Toolchain: MDK-ARM Professional Version: 4.60.0.0
    Toolchain Path: C:\Keil\ARM\ARMCC\bin\
    C Compiler: Armcc.Exe
    Assembler: Armasm.Exe V5.02.0.28
    Linker/Locator: ArmLink.Exe V5.02.0.28
    Librarian: ArmAr.Exe V5.02.0.28
    Hex Converter: FromElf.Exe V5.02.0.28
    CPU DLL: SARM.DLL V4.60.0.0
    Dialog DLL: DARMP.DLL V1.51
    Target DLL: ULP2ARM.DLL V2.18.0.0
    Dialog DLL: TARMP.DLL V1.51

Children