Search code examples
cstm32

STM32 USB VCP (Virtual Com Port)


I generated a code for "stm32f103c8t6" with CubeMX for USB VCP, when I add "CDC_Transmit_FS" command to send data, the port isn't recognized by windows10! what should I do? Here is the code which is compiled without error:

#include "stm32f1xx_hal.h"
#include "usb_device.h"
#include "usbd_cdc_if.h"

int main(void)
{
  uint8_t Text[] = "Hello\r\n";
  while (1)
  {
    CDC_Transmit_FS(Text,6); /*when commented the port is recognized*/
        HAL_Delay(1000);
  }
}

Solution

  • Put delay before CDC_Transmit_FS call - it will wait for the initiatialization. Your code should be like this

    int main(void)
    {
      uint8_t Text[] = "Hello\r\n";
      HAL_Delay(1000);
      while (1)
      {
        CDC_Transmit_FS(Text,6); /*when commented the port is recognized*/
            HAL_Delay(1000);
      }
    }