Does anyone know what limits the serial library to 115200 baud with the Arduino firmware? I have used a atmega32u4 operating with a 8Mhz clk and i can still achieve 115200, so what limits the Baud rate to 115200 when using a 16Mhz Clk.
Just wondering what the general consensus was
Thanks
The serial monitor of the Arduino IDE only works up to 115200 baud.
But you can use higher rates if you use a different serial software (depending on your operating system).
I have used baud rates up to 460800 (the serial terminal I use on the PC does not work with higher rates).
But the Uno or Mega should work reliably at 1000000 baud if the PC program can accept that.
Arduino boards that use the ATmega32U4 (such as the Micro or Leonardo) always use full USB speed for communication so they are significantly faster than an Uno or Mega.
Note that the possible baud rates possible became very far apart. The generator uses a proper and integer divisor, with the max rate is 2mb/s (16MHz/8)/1, but the next rate is (16MHz/8)/2 or 1 Mbp/s...
If you are not stuck with standard rates (e.g. 115.2k, 230.4k ...) then 16MHz has some UART rates (125k and 250k) without framing errors. I have started to use a 12MHz crystal on ATMega328p at 3.3V and it has those rates also, it is able to talk to the other ATMega328p over a long differential (RS485) pair at 250k bit rate. I have an idea that avrdude works at those non-standared rates but I have not verified. Unfortunately the program (picocom) I use on Ubuntu and Raspbian does not work with non-standard rates (picocom was fixed but it has not been pushed into Debian).