-
-
Notifications
You must be signed in to change notification settings - Fork 7k
Open
Labels
Type: BugUSB: CDC serialSerial interface used by MCUs with native USB (e.g. Leonardo) to communicate with the computerSerial interface used by MCUs with native USB (e.g. Leonardo) to communicate with the computer
Description
Board: Arduino Micro(ATMEGA32U4)
Test Sketch:
void setup() {
Serial.begin(115200);
Serial1.begin(115200);
}
void loop() {
if (Serial.available()) {
Serial1.write(Serial.read());
}
if (Serial1.available()) {
Serial.write(Serial1.read());
}
}
To reproduce the issue make LoopBack connection RX-TX open Terminal Emulator(e.g. CoolTerm) and begin to send something. Switch DTR state ON/OFF.
If DTR OFF transmition stops.
It does not correspond with ordinary USB to serial behavior, e.g. FT232 chip, which transmits and receves regardless DTR state.
The same test runs on Teensy 2.0 with no such issue.
dgavez
Metadata
Metadata
Assignees
Labels
Type: BugUSB: CDC serialSerial interface used by MCUs with native USB (e.g. Leonardo) to communicate with the computerSerial interface used by MCUs with native USB (e.g. Leonardo) to communicate with the computer
Type
Projects
Milestone
Relationships
Development
Select code repository
Activity
Kabron287 commentedon Feb 20, 2020
In fact it is done consciously.
File: CDC.cpp
232
Commenting if( ... solved the problem.
IMHO, this functionality should be left to the user's choice.
GabrielBeraldo commentedon Nov 7, 2024
Commenting this actually works! This definitively should be a user configurable behavior....
For a more elegant solution i elaborate a simple code snippet that exemplifies the application of a custom serial class (this way we avoid touching arduino sources)
I believe that, as me, someone would struggle with this in the future and hopefully benefits from this approach
USB serial converter application example: