Serial output using interrupts

Paul_KD7HB:
You are absolutely correct. But we are discussing using the USB connection to a PC. This is NOT the normal serial data connection. Look up USB specifications.

Paul

For Arduinos with native USB (Due, Teensy etc) there is no delay. The USB sends at its maximum rate. The baud rate you use in Serial.begin() is ignored. You can test this by selecting a different baud rate in the Serial Monitor. "Incompatible" baud rates can talk to each other over native USB. If you actually try to test the speed, you will see that the speed is identical for every "baud rate."

For Arduinos without native USB, there's a helper chip to provide the USB-to-Serial conversion. (Uno, Mega, Nano...) There's no delay there either. The time it takes to transmit a character is set by the baud rate you selected. If you send a group of characters, they are sent at the exact baud rate. There's no gaps between the characters to make it look slow.