Skip to content

Commit 17e1eb5

Browse files
committed
Fix idle level when initializing a inverted SoftwareSerial
Previously, when SoftwareSerial was initialized, it would always be set to an idle level of HIGH, even when inverted logic was enabled. Once a byte is transmitted, the idle level gets correctly set to LOW instead. This commit makes sure that the idle level is correct directly after initialization already. This fixes arduino#1361.
1 parent 9ad8748 commit 17e1eb5

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

libraries/SoftwareSerial/SoftwareSerial.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -355,7 +355,7 @@ SoftwareSerial::~SoftwareSerial()
355355
void SoftwareSerial::setTX(uint8_t tx)
356356
{
357357
pinMode(tx, OUTPUT);
358-
digitalWrite(tx, HIGH);
358+
digitalWrite(tx, _inverse_logic ? LOW : HIGH);
359359
_transmitBitMask = digitalPinToBitMask(tx);
360360
uint8_t port = digitalPinToPort(tx);
361361
_transmitPortRegister = portOutputRegister(port);

0 commit comments

Comments
 (0)