Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
After transferring the last stop bit the TX GPIO needs to stay high until the trigger timer cycle is complete, otherwise the stop bit time will be short and the receiver may fail to decode it.
I tested baudrates 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600 and 115200, and all of them can be decoded successfully by the scope. All baudrates up to 19200 have a stop bit time exactly the same as the bit time. For example 9600:
For baudrates higher than 19200, the stop bit time looks like it's slightly longer than nominal bit time, but this is just because it starts to get less than the time required to loop around and send the next byte. The worst case for 115200 is around 8us:
Fixes arduino/uno-r4-library-compatibility#12