I noticed the following code in HardwareSerial::_tx_udr_empty_irq:
|
#ifdef MPCM0 |
|
*_ucsra = ((*_ucsra) & ((1 << U2X0) | (1 << MPCM0))) | (1 << TXC0); |
|
#else |
|
*_ucsra = ((*_ucsra) & ((1 << U2X0) | (1 << TXC0))); |
|
#endif |
Shouldn't
*_ucsra = ((*_ucsra) & ((1 << U2X0) | (1 << TXC0)));
be
*_ucsra = ((*_ucsra) & ((1 << U2X0))) | (1 << TXC0);
just like the line in #ifdef MPCM0?
Because now it preserves the TXC0 bit instead of setting it?
I noticed the following code in
HardwareSerial::_tx_udr_empty_irq:ArduinoCore-avr/cores/arduino/HardwareSerial.cpp
Lines 103 to 107 in 855ea01
Shouldn't
be
just like the line in
#ifdef MPCM0?Because now it preserves the
TXC0bit instead of setting it?