ich glaub meine controller verarschen mich oder ich seh den wald vor lauter bäumen nicht

Code:
	DDRD |= (1<<TRANSMITTER) | (1<<TRIGGER_PIN);
	UBRRH = 0;   //> ...
	UBRRL = 10;  //> 1/10 MBaud @ 16Mhz
	UCSRB = (1<<RXEN)|(1<<TXEN)|(1<<RXCIE); 
 	UCSRC = (1<<USBS)|(1<<UCSZ0)|(1<<UCSZ1); //> 8N2
	while(1){
		PORTD |= (1<<PD4);
		while(!(UCSRA & (1<<UDRE)));
		UDR = R_OPERATING;
		while(!(UCSRA & (1<<TXC)));
		PORTD &= ~(1<<PD4);
	}
der code wird identisch auf einem M32 und einem M128 aufgespielt (M128 == Embedit128Modul) der M32 braucht 30 mal länger als der M128 um das byte über die UART zu schieben (mit oszi gemessen) was mach ich falsch, hab ich was vergessen oder pübersehen ? bitte helft mir

PS: die Frequenz selber konnt ich nicht am Quarz überprüfen, aber die pausezeiten zwischen 2 bytes sind identisch mit rund 250nS (entspricht einer vergleichsoperation, wie im while)