arduino / arduino/Arduino

DTR Off blocks USB serial receive

Open
#9,786 2 comments 1 reaction 0 assignees View on GitHub
Type: Bug USB: CDC serial
Dominant language
Java
Stars
14.6k
Forks
7k
PR merge metrics
No merged PRs in 30d

Description

Board: Arduino Micro(ATMEGA32U4)
Test Sketch:
```c++
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.

Contributor guide

Open the contributing guide

Research direction

Reproduce the loopback test on an Arduino Micro using the supplied sketch and a terminal emulator, toggling DTR while sending data. Trace the USB serial receive path for the ATmega32U4 and compare its behavior with the reported Teensy 2.0 and FT232 cases. Done means receiving continues when DTR is off, without breaking normal serial behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
arduino, cpp
Domain
embedded-iot
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.