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

stm32 Composite USB Host CDC

Using Keil uvision 5, I was finally able to get my device ( stm32f429) to emulate two Virtual Com Port in Windows successfully ( USB composite device), I can open two hyper terminal session with one VCP port each, and I can exchange data between them without problem. I use RTE to enable 1 USB device and 2 CDC Device class.

Now I want to do the same thing but in Host CDC mode, so I connected my device ( stm32f429 ) to an stm32F7 discovery board via FS usb connector. My problem is that in the new created project, I can't or I don't know how to enable 2 HOST CDC class using RTE manager.

If I use only one CDC device on the stm32f4 side, I'm able to communicate with it without problem, but when using 2 CDC device( on the F4 side) here I don't know how to do the stm32F7 side !

any advice would be greatly appreciated. thank you.

here some source code:

main.c:


/*------------------------------------------------------------------------------
 *        USB Host Thread
 *----------------------------------------------------------------------------*/
void USBH_Thread (void const *arg) {
  static bool con = false;
  int stat=0;

        stat = USBH_Initialize (0);                      /* Initialize USB Host 0        */

        stat = USBH_CDC_ACM_GetDeviceStatus(0);

        while( stat!=usbOK)     // Get error 0x21 "usbDeviceError", device dos not exist!
        { stat=USBH_CDC_ACM_GetDeviceStatus(0);
          osDelay (100);
                LED_On(0);
                osDelay (100);
                LED_Off(0);
        }

USBH_Config_CDC.h



//-------- <<< Use Configuration Wizard in Context Menu >>> --------------------

// <h>USB Host: Communication Device Class (CDC)
//   <o> Number of concurrent CDC Devices in system <0-3>
#define USBH_CDC_NUM                        2

//   <h>OS Resources Settings
//   These settings are used to optimize usage of OS resources.
//     <o>CDC Interrupt In Pipe (modem and error status reception) handling Thread Stack Size <64-65536>
#define USBH_CDC_INT_IN_THREAD_STACK_SIZE   512

//        CDC Interrupt In Pipe handling Thread Priority
#define USBH_CDC_INT_IN_THREAD_PRIORITY     osPriorityAboveNormal


Parents
  • Dear Linda,
    in your post you mentioned that you were able to get stm32f429 to emulate two Virtual Com Port in Windows successfully ( USB composite device).
    I'm trying to reach this goal with my demo board SMT32F4 discovery but i'm not able to get two VCP enabled at the same time like you.
    Can you share your project in order to check what i'm doing wrong, please?

    Thank you very much for your support.

    Kind regards
    Ilie

Reply
  • Dear Linda,
    in your post you mentioned that you were able to get stm32f429 to emulate two Virtual Com Port in Windows successfully ( USB composite device).
    I'm trying to reach this goal with my demo board SMT32F4 discovery but i'm not able to get two VCP enabled at the same time like you.
    Can you share your project in order to check what i'm doing wrong, please?

    Thank you very much for your support.

    Kind regards
    Ilie

Children
No data