arduino / arduino/ArduinoCore-renesas

SoftwareSerial baudrate cannot be changed dynamically

Open
#523 1 comment 0 reactions 0 assignees View on GitHub
topic: code
Dominant language
C
Stars
193
Forks
112
PR merge metrics
No merged PRs in 30d

Description

I have a [library](https://github.com/gicking/LIN_master_portable_Arduino) which provides LIN communication across a variety of architectures and serial interfaces. To generate LIN BREAK signal, I temporarily reduce the baudrate, send 0x00 and revert to the original baudrate.

However, when porting to the Uno R4 Minima I found that here the SoftwareSerial baudrate is fixed by the first call to SoftwareSerial.begin() and cannot be changed afterwards. Closing the interface or adding a delay also doesn't help. Attached please find a small sketch and screenshots to show what I mean.

Can you please look into that? Thanks a lot in advance!

Looking forward to a lot of fun with the new UNO :-)

[Test_SWSerial_Baudrate.zip](https://github.com/user-attachments/files/24844184/Test_SWSerial_Baudrate.zip)

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by running the attached Test_SWSerial_Baudrate.zip sketch on an Uno R4 Minima and inspect the SoftwareSerial implementation used by this core. Reproduce the failure after changing the baudrate, then verify that closing the interface or adding a delay does not alter the result; done means the baudrate can be changed dynamically as described.

Written by the indexing model from the issue text.

Assessment

Tech stack
arduino, c
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.