Arduino Uno Baudrate 460800

Hello
I tried to send the following STRING "TEST" with an "Arduino Uno" and a
baudrate off 460800. When I meassure the baudrate with an
oscilloscope it is exactly 50000. Can you anybodt tell me why?
It's important for me to find a way to send it with 460800.
Is there a workarround?

This is the code:

void setup() {
Serial.begin(460800);
pinMode(2, OUTPUT);
pinMode(13, OUTPUT);
}

void loop() {
digitalWrite(13, HIGH);
delay(500);
digitalWrite(2, HIGH);
Serial.write("TEST");
digitalWrite(2, LOW);
delay(500);
while (1);
}

http://www.arduino.cc/en/serial/begin

.

HORST1:
When I meassure the baudrate with an oscilloscope it is exactly 50000.

Yup...
http://wormfood.net/avrbaudcalc.php?bitrate=460800&clock=16&databits=8

Can you anybodt tell me why?

Basic arithmetic. Processor clock divided by the value in the UBRR register.

Is there a workarround?

Yup...
http://wormfood.net/avrbaudcalc.php?bitrate=460800&clock=11.0592%2C14.7456%2C18.432&databits=8

You will be purchasing and installing a 11.0592 MHz, 14.7456 MHz, or 18.432 MHz crystal.

HORST1:
Hello
I tried to send the following STRING "TEST" with an "Arduino Uno" and a
baudrate off 460800. When I meassure the baudrate with an
oscilloscope it is exactly 50000. Can you anybodt tell me why?

Because you are trying to push the baud rate to the max. limit, and because of integer math in setting the baudrate register in the Atmega controller.

The Arduino can only derive baud rate clock from its controller clock and with 16 Mhz and 32 controller clock cycles for one UART bit cycle you get 0.5 MHz baudrate.

Exaxtly possible baud rates are 500000, 250000, 125000, and standard baud rates like 115200 or non-standard intermediate baudrates typically generate a baud rate error of several percent causes by integer math division setting the UART baudrate register, which can only hold integer numbers.