STM32F103C8T6 USB Composite Device USBSerialPort and Hardware Serial Port problem

Hello,

I wrote Arduino code for communication using USBSerial and Hardware Serial. I use Two Serial Port Terminal Software. One For USBSerial and Other for Serial1(CP2102).
PC : WINDOWS10 64Bits
Board use STM32F103C8T6
Board definition http://dan.drown.org/stm32duino/package_STM32duino_index.json
Serial Terminal for USB COM14 for hardware Serial Com 10 ref for Images

On PC Side Windows10 Device Manger show me Composite Device and Serial for USB(Userial) and SiLab Com Port(CP2102) Serial1.

When I send Char data from USBSerial Termial Window (Userial) it received On Serial1 Window Terminal.

But When Char Data Send from Serial1 Window Terminal it was not received in USerial Terminal Window on PC

To debug it I use LED on PC13 Which get Toggle on every char send from Serial1 Window Terminal.

//https://www.stm32duino.com/viewtopic.php?t=1440
#define LED PC13
#include <USBComposite.h>
const char ManufacturerName[] = "Crystal";
const char DeviceName[] = "MoonLight";
const char DeviceSerial[] = "00000000000000000001";
USBCompositeSerial USerial;
uint32_t counter = 0;

void setup()
{
  pinMode(LED,OUTPUT);
  USBComposite.setManufacturerString(ManufacturerName);
  USBComposite.setProductString(DeviceName);
  USBComposite.setSerialString(DeviceSerial);
  USBComposite.setVendorId(0x5740);
  USBComposite.setProductId(0x0036);
  USerial.registerComponent();
   USBComposite.begin();
  USerial.begin();
  Serial1.begin(115200);
}
void loop()
{
    if(Serial1.available()) {
    while(Serial1.available()) {
      char c = Serial1.read();
      USerial.print(c);
      digitalWrite(LED,!digitalRead(LED));
    }
  }
  if(USerial.available()) {
    while(USerial.available()) {
      char c = USerial.read();
      Serial1.write(c);
    }
  }
}


This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.